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

使用nvm切换NodeJS版本后,Git Bash无法运行npm命令怎么办?

解决Git Bash中nvm切换Node版本后npm报错的问题

问题根源

你遇到的核心问题是:Git Bash没有调用nvm为当前Node版本(v10.16.2)配套的npm(v6.9.0),而是优先执行了系统全局安装的高版本npm(v9.6.6),该版本不兼容Node v10.16.2。虽然Git Bash中node -v显示正确,但npm的路径优先级出现了偏差。

解决方案

1. 确认当前npm路径

在Git Bash中执行以下命令,查看正在调用的npm位置:

which npm

正常会输出类似/c/Users/bazha/AppData/Roaming/npm/npm(全局npm路径),而nvm管理的npm应该在/c/Users/bazha/.nvm/versions/node/v10.16.2/bin/npm目录下。

2. 调整环境变量优先级

让nvm管理的npm路径优先于全局npm路径:

  • 打开Git Bash的配置文件(没有则创建):
    vi ~/.bashrc
    
  • 在文件末尾添加以下内容:
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
    export PATH="$NVM_DIR/versions/node/v$(node -v | sed 's/v//')/bin:$PATH"
    
  • 保存后执行以下命令让配置生效:
    source ~/.bashrc
    

3. 验证修复结果

重新执行npm -v,应该显示6.9.0,此时所有npm命令即可正常运行。

临时应急方案(无需配置文件)

如果只是临时需要执行npm命令,可以直接指定nvm对应版本的npm路径:

~/.nvm/versions/node/v10.16.2/bin/npm <你的命令>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 00:12:44