M1 Mac系统下使用nvm安装Node.js 14.18.1报错问题咨询
问题原因说明
- 「Node.js v14无法在M1芯片Mac上运行」的说法不准确:Node.js 14.x版本官方仅提供x86架构的macOS预编译包,没有适配M1的arm64原生包,并不是完全无法运行,可通过Rosetta2转译正常使用。
- 执行
nvm install 14.18.1报错404的核心原因是nvm默认匹配当前系统架构(arm64)去下载对应安装包,而Node14官方根本没有发布darwin-arm64架构的v14.18.1安装包,所以下载失败后自动尝试从源码编译,才触发了Python版本的连带问题。
解决方案
方案一:通过Rosetta 2启动终端安装(操作最简单)
- 打开访达,进入「应用程序」-「实用工具」文件夹
- 右键点击「终端」,选择「显示简介」
- 勾选「使用Rosetta打开」,关闭简介窗口后重启终端
- 执行
nvm install 14.18.1即可正常完成安装,安装完成后可取消终端的Rosetta勾选,后续使用Node14时系统会自动调用Rosetta转译运行。
方案二:不切换终端架构,手动指定x86架构安装
直接在原arm64架构的终端中执行如下命令即可:
arch -x86_64 zsh -c "nvm install 14.18.1"
安装完成后正常使用即可,nvm会自动识别对应架构的Node版本。
可选:解决源码编译时的Python版本问题
如果需要手动从源码编译Node14,可先指定Python 2.7路径后再执行编译命令:
export PYTHON=/usr/bin/python2.7 nvm install -s 14.18.1
该方法编译耗时较长,且部分依赖可能存在兼容性问题,优先推荐前两种方案。
内容的提问来源于stack exchange,提问作者Rohit Krishnamoorthy
相关产品推荐
相关产品推荐

