Windows、Mac 和 Linux 下怎么更新 Node.js
详细讲解在 Windows、Mac 和 Linux 操作系统下更新 Node.js 的完整步骤与最佳实践,包含官方安装包覆盖、包管理器升级与版本管理器多版本隔离方案。
一、更新前的检查与版本选型决策
在开始升级前,首先要在本地终端(Windows 下的 PowerShell/CMD,macOS/Linux 下的 Terminal)查看当前运行的 Node.js 与附带的 npm 版本号。
node -v
npm -v
10.2.3
明确当前版本后,需要决定目标升级版本。Node.js 官方将版本分为两大流派:
- LTS 长期支持版(Long Term Support):主版本号为偶数(如 18.x, 20.x, 22.x)。官方提供长达 30 个月的安全补丁与稳定性支持。绝大多数企业级生产项目、本地主力开发环境都强烈建议升级到当前的活跃 LTS 版本。
- Current 当前最新版:主版本号为奇数(如 21.x, 23.x)。包含最新实验性 ECMAScript 特性和 API 改进,但生命周期仅有 6 到 8 个月,适合尝鲜与新特性实验。
二、Windows 操作系统下的更新方法
在 Windows 环境下,根据是否需要多版本切换,通常有两种标准更新途径。
方式一:官方 MSI 安装包覆盖升级(最简单直接)
如果不需要多版本并存,只是单纯将电脑上的旧版 Node.js 升到新版,直接下载官方安装程序覆盖安装即可:
- 访问 Node.js 官方网站(nodejs.org),下载标注为 LTS 的 Windows Installer(
.msi文件)。 - 双击运行安装程序,在安装向导中接受许可协议。
- 核心关键点:在选择安装路径时,保持与原本旧版完全相同的默认路径(通常是
C:\Program Files odejs\)。向导会自动替换原有的node.exe以及全局核心组件。 - 点击 Install 完成安装后,必须关闭所有已打开的 CMD 或 PowerShell 窗口并重新打开,使系统重新加载环境变量。
方式二:使用 nvm-windows 进行升级(开发环境强烈推荐)
Windows 官方不支持 POSIX shell 版本的 nvm,但有由社区独立维护的专用工具 nvm-windows。它可以实现多个 Node.js 版本无缝切换:
1. 如果电脑尚未安装 nvm-windows,可从其 GitHub 官方仓库(coreybutler/nvm-windows)Releases 页面下载 nvm-setup.exe 安装包完成初始化。
2. 在命令行查询线上可安装的 Node.js 稳定版本:
nvm list available
|--------------|--------------|--------------|--------------|
| 23.1.0 | 22.11.0 | 18.20.5 | 0.11.16 |
| 23.0.0 | 22.10.0 | 18.20.4 | 0.11.15 |
3. 执行命令下载并安装最新的 LTS 版本(例如 22.11.0):
nvm install 22.11.0
4. 激活新安装的版本:
nvm use 22.11.0
nvm use 时,底层是通过创建 NTFS 符号链接(Symlink)改变 C:\Program Files
odejs 的指向。如果提示“Access is denied”(权限被拒绝),请右键以管理员身份运行终端后再执行切换。
三、Mac (macOS) 操作系统下的更新方法
macOS 开发者普遍使用 Homebrew 或 nvm。不建议直接从官网下载 .pkg 包手动覆盖,因为容易引发与权限相关的配置冲突。
方式一:使用 nvm 管理器升级(首选方案)
nvm 会将每个 Node.js 版本存放在用户主目录下的 ~/.nvm/versions/node/ 中,无需 sudo 即可随意安装全局 npm 模块,彻底杜绝权限隐患。
1. 更新本地可用版本并安装最新的长期支持版:
nvm install --lts
2. 如果希望在新版本中一并安装旧版本里已有的全局工具包(如 pnpm, yarn, rimraf 等),可以带上迁移参数:
nvm install 22 --reinstall-packages-from=20
3. 将新版本设置为终端每次启动时的全局默认版本:
nvm alias default 22
nvm use 22
方式二:使用 Homebrew 更新
如果是通过 Homebrew 管理本地系统工具链,只需两行命令即可完成升级:
brew update
brew upgrade node
如果当前正在维护只兼容特定主版本(例如 Node 20)的项目,而 Homebrew 默认将 node 配方升级到了更高版本,可以安装指定主版本的配方并重新链接:
brew install node@20
brew unlink node
brew link --overwrite --force node@20
/opt/homebrew/bin 和 ~/.nvm 中各自维持二进制文件,会导致终端执行 which node 时出现 PATH 竞争,常常出现升级后版本号依然未变的假象。
四、Linux 操作系统下的更新方法
在 Linux 发行版(如 Ubuntu、Debian、CentOS、RHEL、Rocky Linux)中,系统官方仓库(如 Ubuntu apt)默认提供的 Node.js 版本往往滞后数年。升级必须采用官方源或版本管理器。
方式一:使用 NodeSource 官方仓库升级(生产服务器标准)
NodeSource 维护着全平台 Linux 发行版的最新 Node.js 二进制包仓库,是云服务器和生产部署的业界标准规范。
Ubuntu / Debian 升级步骤:
# 1. 下载并运行针对指定 LTS 大版本 (例如 v22.x) 的源配置脚本
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
# 2. 执行系统包管理器升级
sudo apt-get update
sudo apt-get install -y nodejs
CentOS / RHEL / Fedora 升级步骤:
# 1. 导入指定版本的 RPM 软件源配置
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -
# 2. 使用 DNF 或 YUM 执行升级
sudo dnf install -y nodejs
方式二:在 Linux 工作站上使用 nvm
在个人 Linux 桌面或 WSL2 环境中,通过 nvm 安装更新完全不需要 root 权限:
# 运行更新与默认指向设置
nvm install 22
nvm use 22
nvm alias default 22
五、更新后的验证与全局依赖处理
完成安装操作后,需要严格执行验证步骤:
- 关闭并重新开启终端:确保系统环境变量刷新,载入最新的二进制入口。
- 核验版本号:分别执行
node -v和npm -v,确认返回的版本号符合预期。 - 检查路径指向:在 macOS / Linux 执行
which node,在 Windows 执行where.exe node,确认路径指向新安装的目录而非陈旧的残留路径。 - 处理项目原生依赖:如果现有前端项目包含
node-sass、canvas、better-sqlite3等依赖 C++ 原生绑定的底层库,在大版本升级后往往需要重新编译。进入项目根目录执行:rm -rf node_modules package-lock.json npm install
六、高频常见问题与故障排查
1. 已经安装了新版本,但终端中 node -v 依旧显示旧版本?
这是最典型的环境变量 PATH 优先级冲突。操作系统会按照 PATH 中自上而下的顺序检索 node 执行程序。若旧版本的安装路径(例如曾经用安装包安装在全局目录)排在 nvm 或 Homebrew 之前,系统就会继续调用旧版本。排查方法:
- 在 Windows 下检查系统环境变量中的
Path,确保%NVM_SYMLINK%位于其他旧 node 目录之前。 - 在 macOS/Linux 下检查
~/.zshrc或~/.bashrc,确认 nvm 的初始化脚本位于文件靠后位置,避免被其他 export 覆盖。
2. Linux / Mac 全局安装报 EACCES: permission denied 错误?
切忌为了解决权限报错而使用 sudo npm install -g <package>,这会使 npm 脚本获得 root 执行权限,带来严重安全风险并破坏文件属主。根本解决方法是采用 nvm 将 Node.js 安装在普通用户空间,或者按照官方建议修改 npm 默认全局安装目录:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
七、总结
综合来看,更新 Node.js 的核心准则在于:本地日常开发优先使用版本管理工具(nvm / nvm-windows / fnm),其环境隔离机制既能避免权限难题,又可轻松应对多项目多版本共存;而在生产服务器与 CI/CD 自动化流水线中,优先采用官方系统源(如 NodeSource)或官方容器镜像,以保障系统服务的确定性与可维护性。
macOS卸载Node.js指南:区分Homebrew与pkg安装包的处理方式
2026-11-05 11:28:12
JS逆向入门:浏览器Console调试与Node.js环境搭建指南
2026-11-05 10:57:15
Node.js 大版本升级需要注意哪些破坏性变更
2026-11-03 20:35:44
Node.js官网LTS版与Current版有什么区别
2026-11-03 19:33:49
Windows彻底卸载Node.js:清理AppData残留与PATH环境变量
2026-11-03 19:15:35








