如何在Mac M1设备上运行适配Intel架构的NodeJS版本?
M1 Mac 同时安装/切换Arm/Intel架构Node版本方案
核心操作步骤
- 安装Intel(x86_64)架构的Node版本时,无需单独打开Rosetta终端,直接执行命令切换当前终端架构:
arch -x86_64 zsh
(如果你的默认shell是bash,将zsh替换为bash即可) - 切换到x86架构后,正常使用NVM安装你需要的低版本Node即可,示例安装v14:
nvm install v14
该方式安装的Node完全适配Intel架构,不会出现编译失败问题 - 切回Arm架构安装/使用原生Apple Silicon适配的Node版本,执行:
arch -arm64 zsh
再通过NVM操作对应Arm版本的Node即可
高效切换技巧
你可以给不同架构的Node版本设置别名,无需每次手动切换终端架构,示例:
- 给x86架构的v14版本设置别名:
nvm alias intel-v14 v14 - 给Arm架构的v16版本设置别名:
nvm alias arm-v16 v16 - 后续需要切换时直接执行对应命令即可:
- 切Intel版:
nvm use intel-v14 - 切Arm版:
nvm use arm-v16
- 切Intel版:
常见问题说明
v15之前的Node版本官方没有提供原生arm64适配包,直接在原生Arm终端安装时NVM会尝试本地源码编译,大概率会出现编译失败的情况,只要切换到x86架构下安装即可解决该问题。
注意:不同架构安装的Node版本在NVM中独立存储,即使版本号完全相同,也不会互相干扰,切换架构后NVM会自动匹配对应架构的版本。
内容的提问来源于stack exchange,提问作者LiviuIosim
相关产品推荐
相关产品推荐

