M1 Mac下NVM设置默认Node.js v14失效,v16.14.2无法卸载求助
解决M1 Mac上nvm默认版本不生效的问题
问题分析
你遇到的核心问题是:brew安装的Node.js v16.14.2不在nvm的管理目录内,且其路径在系统PATH中的优先级高于nvm。即使卸载brew的Node、设置nvm默认版本,新终端仍会加载残留的v16版本。
解决方案
第一步:定位当前Node的实际路径
打开终端执行命令,找到正在运行的v16版本Node的位置:which node node -v输出路径可能是
/usr/local/bin/node(Intel架构brew路径)或/opt/homebrew/bin/node(M1架构brew路径),也可能是其他自定义路径。第二步:清理残留的Node文件
根据第一步得到的路径,删除对应位置的Node可执行文件及关联工具:# 示例路径为M1 brew路径,需根据实际输出替换 rm -f /opt/homebrew/bin/node rm -f /opt/homebrew/bin/npm rm -f /opt/homebrew/bin/npx第三步:调整shell配置文件的加载顺序
M1 Mac默认使用zsh,编辑~/.zshrc文件(若使用bash则编辑~/.bash_profile),确保nvm的初始化代码放在所有PATH修改语句的最前面。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使配置生效。第四步:重新设置nvm默认版本
执行命令设置默认版本:nvm alias default 14.20.0关闭当前终端并重新打开,执行
node -v验证版本是否为v14.20.0。第五步:排查其他Node管理工具冲突
若以上步骤无效,执行which -a node列出所有Node的路径,检查是否有n、volta等其他Node管理工具安装的Node,找到后卸载对应工具或删除相关路径的Node文件。
内容的提问来源于stack exchange,提问作者Victor Motogna
相关产品推荐
相关产品推荐

