部分报错信息
Downloading https://nodejs.org/dist/v14.21.3/node-v14.21.3-darwin-arm64.tar.xz...
curl: (56) The requested URL returned error: 404
download from https://nodejs.org/dist/v14.21.3/node-v14.21.3-darwin-arm64.tar.xz failed
grep: /Users/ytgroup/.nvm/.cache/bin/node-v14.21.3-darwin-arm64/node-v14.21.3-darwin-arm64.tar.xz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Detected that you have 8 CPU core(s)
在mac安装node14.21.3失败,怎么解决
下面按最推荐方案:Rosetta + x64 安装 Node 14.21.3一步一步写,你照着输就行。
方案一:最稳,安装 x64 的 Node 14.21.3
第 1 步:安装 Rosetta
在终端输入:
bash
softwareupdate --install-rosetta --agree-to-license
说明:
- 如果已经装过,会提示已安装,可以直接下一步。
- 这一步只需要执行一次。
第 2 步:启动一个 x86_64 的 shell
输入:
bash
arch -x86_64 zsh
说明:
- 这条命令会打开一个当前终端下的
x64shell 环境。 - 后面的
nvm install要在这个环境里执行。
验证当前是不是 x64 环境,输入:
bash
arch
如果输出是:
bash
i386
这是正常的,在 macOS 里表示当前正在用 Rosetta 的 Intel 模式。
第 3 步:加载 nvm
先输入:
bash
export NVM_DIR="$HOME/.nvm"
再输入:
bash
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
验证 nvm 是否可用,输入:
bash
nvm -v
如果能看到版本号,比如:
bash
0.39.7
说明 nvm 正常。
如果这里提示 command not found: nvm,说明你还没装 nvm,先执行下面两条:
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
然后重新输入:
bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm -v
第 4 步:安装 Node 14.21.3 的 x64 版本
输入:
bash
nvm install 14.21.3 --arch=x64
说明:
- 这一步是关键。
- 因为你的机器是 Apple Silicon,默认会找
arm64包,但 Node 14.21.3 没有这个包。 - 加
--arch=x64就会改成装 Intel 版本。
安装完成后,输入:
bash
nvm use 14.21.3
第 5 步:验证安装结果
输入:
bash
node -v
应该看到:
bash
v14.21.3
再输入:
bash
node -p "process.arch"
应该看到:
bash
x64
再输入:
bash
npm -v
确认 npm 也正常。
第 6 步:设置默认版本(可选)
如果你希望以后默认就是这个版本,输入:
bash
nvm alias default 14.21.3
以后新开终端时,再输入:
bash
nvm use default
如果你想以后每次都不用手动 arch -x86_64 zsh
可以直接用 Rosetta 打开终端应用。
Terminal.app 设置方法
- 打开"访达"
- 进入"应用程序 -> 实用工具"
- 找到
Terminal - 右键
显示简介 - 勾选 "使用 Rosetta 打开"
然后重新打开终端,再输入:
bash
arch
如果输出:
bash
i386
就说明以后默认就是 Rosetta 模式了。
如果你执行第 4 步还是失败
那就走源码编译方案。
方案二:源码编译安装
第 1 步:安装 Xcode Command Line Tools
输入:
bash
xcode-select --install
如果提示已经安装,可以继续。
第 2 步:安装 Homebrew 依赖
先确认有没有 brew:
bash
brew -v
如果没有,就先安装 Homebrew:
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
然后安装依赖:
bash
brew install python@3
第 3 步:加载 nvm
输入:
bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
第 4 步:强制源码安装
输入:
bash
nvm install 14.21.3 -s
说明:
-s表示source- 这一步会比较慢
- 老版本 Node 在新 macOS 上不一定 100% 成功
第 5 步:验证
输入:
bash
node -v
npm -v
最推荐你直接照着执行的命令顺序
如果你只想看最短可执行版,就按下面顺序一条条输:
bash
softwareupdate --install-rosetta --agree-to-license
arch -x86_64 zsh
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install 14.21.3 --arch=x64
nvm use 14.21.3
node -v
node -p "process.arch"
npm -v
如果 nvm 不存在,先补这条:
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
然后再重新执行上面那组命令。
如果你愿意,我可以下一条直接给你一版适合复制粘贴的一整段命令 ,包括 .zshrc 配置,这样以后打开终端就能直接用。