You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac下zsh提示npm命令不存在但bash环境可正常运行如何解决

问题根因说明

该问题不是npm或nvm安装方式错误导致的。
现在Mac系统默认使用zsh作为终端shell,你安装nvm时,nvm的初始化脚本仅写入了bash的配置文件(~/.bash_profile或~/.bashrc)。zsh启动时不会主动加载bash的配置内容,因此无法识别nvm管理的npm命令;而VSCode终端使用的是bash,会加载对应配置,所以可以正常执行npm命令。

解决方法

你可以根据自身需求选择以下任意一种方案:

方案1:为zsh添加nvm配置(无需修改默认shell)

  • 打开Mac自带终端,先执行touch ~/.zshrc确保zsh配置文件存在
  • 执行open ~/.zshrc打开配置文件
  • 在文件末尾添加如下nvm初始化代码:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
  • 保存配置文件后,执行source ~/.zshrc让配置立即生效,之后即可在zsh终端正常使用npm命令

方案2:将Mac默认终端shell设置为bash

  • 先执行which bash确认bash的安装路径,默认输出为/bin/bash
  • 执行chsh -s /bin/bash,输入你的Mac用户登录密码完成修改
  • 完全退出终端应用后重新打开,默认shell就会切换为bash,可正常使用npm命令
  • 后续如果需要切回zsh,执行chsh -s /bin/zsh即可

内容的提问来源于stack exchange,提问作者Danny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:54:02