You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NVM安装Node.js 14.5.0/16.20.2失败,求原因分析

Node.js 14.5.0/16.20.2 在M3 Pro macOS上安装失败的原因及解决办法

核心失败原因

  • ARM架构兼容性缺失:Node.js 14.x和16.x的部分版本(包括你尝试的14.5.0、16.20.2)未提供Apple Silicon(ARM64)架构的预编译二进制包。NVM尝试下载x86_64版本并通过Rosetta转译适配时,容易出现目录操作异常,触发“Directory not empty”报错。而Node.js 22是完全适配ARM64的新版本,因此能正常安装。
  • 源码编译依赖不匹配:
    • Node.js 14.x编译要求Python 2.7或3.6-3.9版本,16.x要求Python 3.6-3.10版本,macOS Sonoma默认的Python版本通常超出这个范围,且系统默认Python路径未被NVM正确识别,导致编译时提示找不到Python。
    • 旧版本Node编译依赖特定版本的OpenSSL、Xcode Command Line Tools组件,新版工具链与这些依赖存在兼容冲突,会引发编译卡滞或失败。
  • 残留文件干扰:之前安装失败后,~/.nvm/versions/node目录下残留了不完整的版本文件夹,后续安装时二进制包移动操作因目录非空失败,仅删除.cache无法清理这部分残留。

可行解决办法

  • 通过Rosetta运行终端安装:右键点击终端图标,选择「使用Rosetta打开」,再执行nvm install 14.5.0或nvm install 16.20.2,让NVM下载x86_64版本并通过Rosetta适配运行。
  • 指定兼容Python版本编译:先通过Homebrew安装符合要求的Python版本,比如brew install python@3.9,再执行安装命令时指定Python路径:
    PYTHON=/usr/local/bin/python3.9 nvm install 14.5.0
    
  • 清理残留安装目录:手动删除对应版本的残留文件夹后重试:
    rm -rf ~/.nvm/versions/node/v14.5.0
    rm -rf ~/.nvm/versions/node/v16.20.2
    nvm install 14.5.0
    
  • 尝试16.x系列后期补丁版:Node.js 16.20.2是16.x的最终版本,适配ARM的程度有限,可尝试安装16.x的其他稳定补丁版,比如nvm install 16.19.1,部分后期版本已添加ARM64支持。

内容的提问来源于stack exchange,提问作者Vashista Basava

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 22:54:50