mac 安装node提示 nvm install v14.21.3 failed可能存在问题

部分报错信息

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

说明:

  • 这条命令会打开一个当前终端下的 x64 shell 环境。
  • 后面的 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 设置方法

  1. 打开"访达"
  2. 进入"应用程序 -> 实用工具"
  3. 找到 Terminal
  4. 右键 显示简介
  5. 勾选 "使用 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 配置,这样以后打开终端就能直接用。

相关推荐
zhangfeng11338 小时前
com.apple.quarantine 并不是乱码,而是 macOS Gatekeeper 给下载文件自动打上的“隔离属性
macos·策略模式
甘晴void13 小时前
我给 Magpie 做了个 macOS 桌宠:106 段动画,请求一多就亮灯
macos·electron·开源·deepseek·桌面宠物·magpie
donecoding13 小时前
Apple 芯片 Mac 的终端为什么还在跑 Intel?从 tmux 查起
macos
DevLoom_18 小时前
macOS 27 升级后 Time Capsule 无法备份?AFP 协议废弃后的完整解决方案与备份迁移教程
macos·时间机器·macos27·macos 27备份·macos实用技巧
金海星科技19 小时前
船舶交通管理中心的人工智能值守:从“听、说、读、写“看人机协同
人工智能·macos·xcode
小相会自律1 天前
全平台远程控制软件推荐2026:Win/Mac/Linux/手机/鸿蒙互通哪款好
linux·macos·智能手机·todesk·teamviewer·向日葵
IsITGirl1 天前
VMware Fusion(Mac)Windows ARM 虚拟机 NAT (vmnet8) 报错解决记录
windows·macos·.net·桥接模式
全栈探索者2 天前
从素材到成片:ffmpeg 拼接、转码与字幕,一条流水线交付
macos·ffmpeg·aigc·comfyui·视频剪辑
向阳是我2 天前
Mac 命令行获取 APK 公钥和证书 MD5 指纹
macos
lpfasd1232 天前
Ollama 还是 LM Studio:在 24GB 的 M6 Mac 上,我把 Ollama 卸载了
macos·策略模式