M1 Mac下Node JS默认版本异常:安装v21.1.0却显示v18.16.1
解决M1 Mac上Node版本不匹配问题
问题原因
你从Node官网直接安装的Node版本不在nvm管理范围内,nvm仅管控通过自身安装的Node版本,因此会出现nvm识别不到v18.16.1,但系统仍调用该版本的矛盾情况。
解决步骤
确认当前Node的安装路径
执行命令查看系统正在使用的Node位置:which node若输出为
/usr/local/bin/node,说明这是官网pkg安装的版本,而非nvm管理的版本。卸载官网安装的Node
在终端执行以下命令删除官网安装的Node及相关文件:sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}确保nvm中安装了目标版本
先查看nvm已安装的版本列表:nvm ls若列表中没有
v21.1.0,通过nvm安装该版本:nvm install 21.1.0设置nvm默认版本并生效
将默认版本设为v21.1.0:nvm alias default v21.1.0重新加载shell配置文件(M1 Mac默认使用zsh):
source ~/.zshrc或直接关闭当前终端,重新打开新终端窗口。
验证版本
再次检查Node版本:node -v此时应显示
v21.1.0。
额外检查
若上述步骤后仍有问题,检查shell配置文件(~/.zshrc或~/.bash_profile)中是否包含nvm初始化代码:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
如果没有,将上述代码添加到配置文件末尾,再执行source ~/.zshrc生效。
内容的提问来源于stack exchange,提问作者MarkM
相关产品推荐
相关产品推荐

