Mac m系列芯片安装node14版本使用nvm + Rosetta 2
由于苹果 M 系列芯片(包括 M4)使用的是 ARM 架构,而 Node.js 14 是在英特尔 x86 架构时代发布的,因此在 M 系列 Mac 上安装 Node.js 14 可能会遇到兼容性问题
解决方法:使用 nvm + Rosetta 2
-
右键点击「终端」→「显示简介」→ 勾选「使用 Rosetta 打开」
-
重新打开新终端(Rosetta 模式),安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
-
安装 Node.js 14(自动触发 Rosetta 转译)
nvm install 14
-
验证架构是否为 x86
node -p "process.arch"
# 应输出 x64(表示运行在 Rosetta 2 下)
如果在安装14版本前已经装了nvm和较高版本的node,如果转义为Rosetta 2,这时候再nvm -version
会找不到nvm,这时候你可能想是不是要重新安装nvm,其实是不需要的,nvm本身是一个shell脚本管理器,它可以在不同架构的终端中使用同一个安装目录。
-
先检查当前终端环境(Rosetta),在Rosetta终端中执行:
arch
,应该输出 i386 或 x86_64(表示当前是Rosetta模式)。 -
确保在Rosetta终端中加载nvm,在Rosetta终端中,检查/.zshrc(或/.bashrc)中是否有nvm的加载代码。如果没有,手动添加,输入
nano ~/.zshrc
,在编辑器模式下添加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
之后保存并退出(nano中按Ctrl+O保存,按Ctrl+X退出)
-
然后执行
source ~/.zshrc
使配置生效 -
这个时候就可以使用nvm 安装node14了