亲测有效!M4芯片Mac安装Node.js 14避坑指南,解决nvm install失败问题

139 阅读1分钟

问题概述:当现代硬件遇见旧版软件

刚从Windows切换到全新的MacBook Pro(M4芯片),准备投入到熟悉的老项目维护中,一切似乎都很顺利——直到我需要运行那个依赖Node.js 14的项目。 在终端中输入 nvm install 14 后,等待我的不是成功的提示,而是一连串令人困惑的错误信息:

image.png

为什么安装会失败?

  1. 架构差异的本质
  • Node.js 14官方预编译包主要针对x86_64架构
  • M4芯片的ARM架构需要对应的ARM原生二进制文件
  • 缺乏官方维护的低版本ARM原生包

2.依赖链断裂问题

  • 部分Node.js 14依赖的本地模块(native addons)无ARM版本
  • npm包中的postinstall脚本可能包含不兼容的命令

解决方案:通过Rosetta 2架起兼容的桥梁

经过多次尝试,Rosetta 2转译方案被证明是最稳定可靠的方法。以下是详细步骤:

# 1. 安装 Rosetta 2(如果还没有)
softwareupdate --install-rosetta

# 2. 在 Rosetta 2 终端中运行
arch -x86_64 zsh

# 3. 在这个终端中安装 nvm(如果需要)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

# 4. 安装 Node.js v14
nvm install v14.21.3

安装后,每次运行 Node v14 的项目时,需要在 Rosetta 终端中:

arch -x86_64 zsh
nvm use v14

效果图

正常下载并切换 node 14版本,安装 node_modules

image.png

项目正常运行

image.png