macOS 环境变量排查:解决 npm 全局命令 command not found
从 Claude CLI 安装后无法执行出发,梳理 zsh 与 bash 配置文件差异,并给出在 macOS 下修复 PATH 环境变量的实用方案。
2026/3/20
0 分钟阅读
先说发现这个坑的起因
最近刚考研结束,之前是干前后端开发的,现在想去接触大模型人工智能相关的东西,此处省略一万字学习过程中的心酸历程。今天突然想尝试一下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