关闭终端重启后Node回退旧版本、NVM消失问题如何解决
解决步骤
- 确认当前使用的shell类型,终端执行命令:
echo $SHELL- 输出为
/bin/bash:检查~/.bash_profile文件中是否存在source ~/.bashrc配置,无则添加该行,确保登录态shell会加载.bashrc中的NVM配置。 - 输出为
/bin/zsh(MacOS Big Sur默认shell):将NVM加载脚本同时添加到~/.zprofile文件中,避免登录态shell启动时未加载.zshrc配置的问题。
- 输出为
- 校验NVM加载路径有效性,执行
ls ~/.nvm确认目录下存在nvm.sh文件,如果你安装NVM时自定义了安装路径,要同步修改加载脚本中的NVM_DIR取值。 - 排查是否存在非NVM安装的全局Node版本,终端执行:
如果输出路径为which node/usr/local/bin/node、/opt/homebrew/bin/node等非~/.nvm开头的路径,说明存在系统级安装的旧版Node,会优先于NVM版本被加载。可通过对应的包管理器卸载全局Node,Homebrew安装的可执行:brew uninstall node --force - 重新设置NVM默认Node版本:
nvm alias default v14.17.1 - 重载shell配置验证效果,zsh环境执行:
bash环境执行:source ~/.zprofile && source ~/.zshrc
执行完成后分别运行source ~/.bash_profile && source ~/.bashrcnvm -v、node -v验证配置生效,再重启终端二次确认即可。
内容的提问来源于stack exchange,提问作者user12457151
相关产品推荐
相关产品推荐

