macOS 如何升级 Node.js

macOS 升级 Node.js 推荐 nvm:nvm install node --latest-npm 安装最新版,nvm alias default 设默认;或用 Homebrew 执行 brew upgrade node,或用 n 管理器 sudo n lts。pkg 安装包用户需下载新版覆盖安装。

最佳实践
Node.js 事件循环与异步任务示意

macOS 上升级 Node 取决于你当初怎么装的:nvm 安装的用 nvm install --lts(或 nvm install node --latest-npm 装最新版);Homebrew 安装的用 brew upgrade node;官网 pkg 安装的下载新 pkg 覆盖。推荐统一迁到 nvm 管理,避免多种安装方式并存导致版本混乱。

先确认当前的安装方式

which node
# ~/.nvm/versions/node/...  → nvm 安装
# /opt/homebrew/bin/node    → Homebrew 安装(Apple Silicon)
# /usr/local/bin/node       → pkg 安装或 Homebrew(Intel)

nvm 方式(推荐)

nvm install --lts                 # 最新 LTS
nvm install node --latest-npm     # 最新 Current 版 + 最新 npm
nvm alias default 'lts/*'         # 新终端默认用它

带 --reinstall-packages-from=current 可以把现有全局包迁移到新版本:

nvm install --lts --reinstall-packages-from=current

Homebrew 方式

brew update
brew upgrade node

注意 Homebrew 的 node 公式滚动更新到最新 Current 版;想钉在 LTS 用 brew install node@22 并 brew link --overwrite node@22。

pkg 方式

去 nodejs.org 下载新的 macOS Installer,双击安装即可覆盖旧版。pkg 不管理 npm 全局目录权限,若遇到 EACCES 权限错误,建议改用 nvm 重装而不是对系统目录 chmod。

常见问题(FAQ)

Q:升级后 npm 全局命令找不到了?

nvm 换版本后全局包不共享,需要重装(或用 --reinstall-packages-from 迁移)。如果 which 显示路径正确但命令不存在,多半是这个问题。

Q:Apple Silicon(M 系列)有什么要注意的?

Node 15 起提供原生 arm64 构建,nvm 和 Homebrew 都会装 arm64 版。若必须运行旧的 x64 原生模块,可在 Rosetta 终端里装一份 x64 Node 并行使用。

Q:多种安装方式混在一起了怎么清理?

保留 nvm 管理的那份,删除其他的:brew uninstall node、按官方文档卸载 pkg(删除 /usr/local 下的 node/npm 相关文件),并检查 shell 配置文件中残留的 PATH 修改。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台