Windows、macOS 和 Linux 下升级 Node.js 的具体步骤

作者:岩茶

时间:2026-11-02

浏览:142

详细介绍在 Windows、macOS 和 Linux 三大操作系统下升级 Node.js 的具体操作步骤。涵盖官方安装包覆盖、包管理器升级以及 nvm 版本管理工具等多种实用方案,并提供环境验证与常见问题排查指南。

文章目录

升级 Node.js 的核心路径主要分为两类:一是直接通过官方安装包或系统包管理器进行全局覆盖升级,适合单一环境的常规使用;二是借助多版本管理工具(如 nvm、nvm-windows 或 n)进行受控升级与环境切换,适合需要维护多个项目的开发场景。本文将详细说明在 Windows、macOS 和 Linux 三大操作系统中各自适用的具体升级步骤、操作命令、验证手段及常见问题处理方式。

Windows、macOS 和 Linux 下升级 Node.js 的具体步骤
图 0:Node.js 跨平台主流升级路径概览

第一步:升级前检查当前运行环境

在开始升级前,务必在终端或命令提示符中确认当前安装的 Node.js 与 npm 版本,以及其所在的安装路径。这样可以确认升级前后的版本变动,同时判断当前使用的是独立安装包还是某种版本管理器。

执行命令
node -v
npm -v
命令输出示例
v16.20.2
8.19.4

接下来检查二进制文件的安装位置,以便了解旧版本的存在方式:

  • 在 Windows PowerShell / CMD 中执行:where node
  • 在 macOS / Linux 终端中执行:which node

如果输出路径中包含 .nvm、nvm-windows、.asdf 或 Cellar/node 等目录,说明此前已有特定工具管理环境,建议沿用对应工具的升级流程,避免多个来源共存导致环境变量冲突。

第二步:Windows 下升级 Node.js 的具体步骤

Windows 用户常见的升级方案有两种:使用官方 .msi 安装包覆盖安装,或使用 nvm-windows 进行管理。若电脑中尚未安装任何版本管理器且只需升级到最新的 LTS 稳定版,直接覆盖安装是最快的方式。

方式一:官方 MSI 安装包覆盖升级(单版本适用)

  1. 打开浏览器访问 Node.js 官方网站(nodejs.org),下载推荐给绝大多数用户的 LTS(长期支持版) 的 Windows Installer(.msi 文件)。
  2. 双击运行下载好的 .msi 安装向导程序。
  3. 在安装向导的“Destination Folder”(目标目录)页面,确认安装路径与旧版本完全一致(默认通常为 C:\Program Files\nodejs\)。
  4. 安装程序会自动替换原有的 node.exe、npm 及核心库,并维持原有的系统环境变量 PATH。
  5. 点击“Finish”完成安装后,关闭并重新打开所有正在运行的 CMD、PowerShell 或 VS Code 内置终端,使新的 PATH 生效。

方式二:使用 nvm-windows 升级(推荐多版本需求者)

若你的设备已安装 nvm-windows,请勿直接运行 MSI 覆盖安装,直接通过命令行安装新版本并切换即可:

执行命令:查询可安装版本
nvm list available
命令输出示例
|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
|    22.8.0    |   20.17.0    |   0.12.18    |   0.11.16    |
|    22.7.0    |   20.16.0    |   0.12.17    |   0.11.15    |
执行命令:安装并切换到最新 LTS 版本
# 1. 安装指定的 LTS 版本号(以 20.17.0 为例)
nvm install 20.17.0

# 2. 切换当前系统使用的 Node.js 版本
nvm use 20.17.0

# 3. 查看本地已安装的所有版本列表
nvm list
Windows 常见提示

执行 nvm use 命令时若提示拒绝访问或“Exit status 1”,是因为创建目录符号链接需要提升权限。右键点击终端图标并选择“以管理员身份运行”重新执行该命令即可。

Windows、macOS 和 Linux 下升级 Node.js 的具体步骤
图 1:Windows 环境下两种主要升级操作路径

第三步:macOS 下升级 Node.js 的具体步骤

macOS 开发中最常见的两种管理方式为 Homebrew 和 nvm(POSIX 兼容版本管理器)。请先检查 which node 的输出以匹配对应的操作方式。

方式一:使用 Homebrew 升级

若此前是通过 brew install node 安装的全局 Node.js,升级最为简单,只需更新公式库并升级软件包即可:

执行命令
# 1. 更新 Homebrew 索引
brew update

# 2. 升级 Node.js 到最新官方版本
brew upgrade node

# 3. 清理旧版本缓存安装包(可选)
brew cleanup node

若你的项目需要锁定在特定的 LTS 大版本(如 Node 20),Homebrew 支持按版本分支安装与链接:

# 安装 Node 20 LTS 维护分支
brew install node@20

# 解除默认 node 符号链接并链接到 node@20
brew unlink node
brew link --overwrite --force node@20

方式二:使用 nvm 升级(macOS 官方推荐开发者方式)

nvm 不会修改系统级的 /usr/local 目录,所有 Node.js 版本均安装在用户主目录下的 ~/.nvm 中,避免权限错误:

执行命令
# 1. 查看远程最新的 LTS 版本号
nvm ls-remote --lts

# 2. 安装最新的长期支持版(LTS)
nvm install --lts

# 3. 设置全局默认使用的版本
nvm alias default 'lts/*'

# 4. 立即激活该版本
nvm use default

如果希望在升级新版本的同时将旧版本已安装的全局 npm 模块一并迁移过来,可以使用 --reinstall-packages-from 参数:

# 安装最新 LTS 并自动迁移旧版本(例如 18.20.4)的全局包
nvm install --lts --reinstall-packages-from=18.20.4

方式三:使用轻量级工具 n 升级

如果当前环境既没有 Homebrew 也没有 nvm,但已具备 npm 运行能力,可以直接借助 npm 官方生态中的 n 模块实现快速升级:

执行命令
# 1. 全局安装 n 模块管理工具
sudo npm install -g n

# 2. 直接下载并激活最新 LTS 版本
sudo n lts

# 3. 验证当前生效版本
node -v
Windows、macOS 和 Linux 下升级 Node.js 的具体步骤
图 2:macOS 下 Homebrew 与 nvm 升级流程对比

第四步:Linux 下升级 Node.js 的具体步骤

Linux 发行版(如 Ubuntu、Debian、CentOS、RHEL)自带的官方软件仓库(如 apt-get install nodejs)通常遵循系统稳定策略,所收录的 Node.js 版本往往严重落后于官方当前支持周期。因此,直接执行常规的系统更新无法升至最新大版本,通常需要配置 NodeSource 官方仓库或采用 nvm 安装。

方式一:Ubuntu / Debian 系统通过 NodeSource 升级(系统级运行)

NodeSource 官方维护了最新的 Debian/Ubuntu 二进制分发源,适合云服务器、Docker 镜像或需要全局 systemd 服务直接调用的生产环境:

执行命令
# 1. 卸载通过老旧发行版源安装的原有冲突软件包
sudo apt-get remove -y nodejs npm

# 2. 下载并注册指定大版本号的官方安装源(以 Node.js 20.x 为例)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

# 3. 安装新版本的 Node.js(NodeSource 源已打包集成最新 npm)
sudo apt-get install -y nodejs

# 4. 验证安装结果
node -v
npm -v

方式二:CentOS / RHEL / Rocky Linux 系统升级

在基于 RPM 的企业级 Linux 中,可以通过 dnf / yum 配置 NodeSource RPM 源完成升级:

执行命令
# 1. 下载并运行 RPM 源配置脚本(以 20.x 为例)
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -

# 2. 清理旧缓存并更新安装
sudo dnf clean all
sudo dnf install -y nodejs

# 3. 验证版本
node -v

方式三:Linux 下使用 nvm 升级(无 root 权限或开发机最佳)

在 Linux 个人工作站或公共服务器上,往往没有 root 权限,此时通过 nvm 在普通用户主目录下升级是标准做法:

执行命令
# 1. 若尚未安装 nvm,可拉取官方脚本(已安装则跳过此步)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 2. 让终端环境生效
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

# 3. 安装目标版本并设置为系统默认
nvm install 20
nvm use 20
nvm alias default 20
Windows、macOS 和 Linux 下升级 Node.js 的具体步骤
图 3:Linux 环境下系统级与用户级升级路径区别

第五步:升级后的验证与全局依赖处理

完成 Node.js 升级后,需逐一核验运行状态,并妥善处理历史全局模块及 C++ 原生构建插件。

1. 验证基础版本与路径

执行命令
node -v
npm -v

同时检查二进制程序实际调用的路径,确保系统执行的是新版本的路径,而非残存的旧版本二进制:

  • Windows:where node
  • macOS / Linux:which node

2. 升级与对齐 npm 自身版本

Node.js 安装包内置了一个特定版本的 npm,但在很多情况下,npm 自身有单独发布的补丁或优化。可以通过 npm 自身来快速升级至最新稳定版:

npm install -g npm@latest

3. 处理原生 C++ 扩展包(node-gyp 依赖)

如果现有项目中引用了依赖 Node.js 底层 C++ ABI 的模块(如 node-sass、canvas、better-sqlite3 等),跨大版本升级 Node.js 后运行时可能会出现 Error: The module was compiled against a different Node.js version。解决此问题无需重新配置系统,在项目根目录下重新编译即可:

# 清理原有的编译中间产物并重新为新版 Node.js 编译
npm rebuild

第六步:升级过程中常见问题排查

问题 1:升级后终端执行 node -v 仍显示旧版本

原因排查:系统中存在多个 Node.js 安装路径,且旧版本的路径在系统环境变量 PATH 中的排序先于新版本。

解决办法:

  • 在 Windows 中,打开“系统属性” → “环境变量”,检查“用户变量”与“系统变量”中的 Path 项。如果在不同目录下存在多个 nodejs 或 nvm 相关的条目,将当前正在使用的 Node.js/nvm 路径上移至最前端,或删除无用的旧目录残留。
  • 在 macOS / Linux 中,运行 echo $PATH 查看检索次序,并检查 ~/.zshrc 或 ~/.bashrc 文件尾部,确认 nvm.sh 或自定义 PATH 导出语句位于最下方,保证新路径优先加载。

问题 2:macOS / Linux 下全局安装模块提示 EACCES 权限错误

原因排查:通过直接下载官方 PKG 或早期使用 sudo make install 安装的 Node.js,其全局目录属于 root 用户,普通用户无法写入。

解决办法:建议迁移至 nvm 进行管理,完全规避 root 权限问题;若必须保留系统级安装,可通过修改 npm 全局默认安装前缀到用户目录:

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
# 将以下配置加入 ~/.zshrc 或 ~/.bashrc
export PATH=~/.npm-global/bin:$PATH
Windows、macOS 和 Linux 下升级 Node.js 的具体步骤
图 4:全平台 Node.js 升级全流程自查与决策全景

总结

升级 Node.js 的核心在于选择符合自身工作流的管理路径。对于单机纯净环境,Windows 上的 MSI 覆盖安装、macOS 上的 Homebrew 升级以及 Linux 上的 NodeSource 官方源均能以最少的操作步骤实现系统级全局升级。而对于需要同时维护不同历史项目的前端或全栈开发人员,统一采用 nvm(在 Windows 上使用 nvm-windows,在 macOS 和 Linux 上使用 POSIX 版 nvm)是更稳健的长期方案,它既能方便地在各个 LTS 版本之间秒级切换,也能彻底避免操作系统全局目录的权限困扰。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章