先说发现这个坑的起因
最近刚考研结束,之前是干前后端开发的,现在想去接触大模型人工智能相关的东西,此处省略一万字学习过程中的心酸历程。今天突然想尝试一下claude code。
然后就按照文档npm install -g @anthropic-ai/claude-code,然后claude --version,但!command not found: claude,我心思没有是npm 全局安装的路径没有在系统的 PATH 环境变量中。我就去找了.bash_profile,发现文件里配置了npm的环境变量。
原因解读
macOS Catalina (10.15) 及以后版本默认使用Zsh作为终端shell,~/.zshrc是默认配置文件。
旧版macOS和Linux默认使用Bash作为终端,,~/.bash_profile是默认配置文件。且macOS不会同时加载两个配置文件。
也就是说,现在mac只认~/.zshrc的配置,而我环境变量都写在了~/.bash_profile,不会生效
解决办法
-
将
~/.bash_profile中的配置粘贴复制到~/.zshrc -
在
~/.zshrc中添加如下配置,这样系统会同时加载.zshrc和.bash_profile# 在 zsh 中加载 bash 配置 if [ -f ~/.bash_profile ]; then source ~/.bash_profile fi
总结此过程学习到的
-
npm config get prefix: npm(Node Package Manager)命令,用于查看当前npm配置中设置的全局安装路径(prefix) ,是当使用npm install -g 包名全局安装包时,包被安装到的位置 -
命令配置环境变量
echo 'export PATH="/usr/local/lib/npm/bin:$PATH"' >> ~/.zshrc source ~/.zshrc