Windows 怎么安装 Node.js?

先说结论:打开 PowerShell,一条命令搞定,glue install nodejs-lts(或 winget install OpenJS.NodeJS.LTS)。两种方式都不用手动配 PATH,卸载也干净。Glue 还能用 glue hold 锁定 Node 版本,批量更新也不会碰团队统一的运行时。无论哪种方法,npm 都随 Node.js 一起装好。

Node.js 是很多开发者在 Windows 上装的第一个东西,而怎么装,决定了接下来一年的体验:更新方不方便、node 在不在 PATH 上、为不同项目切版本有多痛苦。

本指南对比 Windows 上安装 Node.js 的四种实际可行的方式,然后逐一演示。四种方式都自带 npm。

快速结论

  • Glue(或 Scoop):glue install nodejs-lts,不需要管理员权限,PATH 自动处理,一条命令更新,还自带版本锁定(glue hold)。
  • WinGet:winget install OpenJS.NodeJS.LTS,Windows 内置,但底层的 MSI 依然要提权,更新等于重装。
  • 官方安装器(MSI):从 nodejs.org 下载,单机用没问题,但每次更新都要下载新安装器、用管理员权限跑一遍。
  • nvm-windows:适合每天在多个 Node 版本间来回切的人;每次切换都需要管理员权限。

四种方式一览

Glue / Scoop WinGet 官方 MSI nvm-windows
管理员权限 不需要 通常需要(跑 MSI) 需要 需要
PATH 配置 自动,走 shim 由安装器处理 由安装器处理 每次 nvm use 时处理
更新到新版本 glue update nodejs-lts winget upgrade(重跑安装器) 下载新的 MSI 再 nvm install 一次
切换版本 glue install nodejs-lts@24 + glue reset 支持有限 重装 内置,就是为这个而生
安装位置 %USERPROFILE%\.glue Program Files\nodejs Program Files\nodejs nvm 根目录下按版本存放

方法 1(Glue):一条命令,不需要管理员权限

如果还没装 Glue,先装它(普通 PowerShell 窗口即可,无需管理员):

irm https://gluestick.sh/install.ps1 | iex

然后新开一个终端,安装 Node.js LTS 版:

glue install nodejs-lts
node --version
npm --version

到这里就装完了。Glue 把 Node 装进你的用户目录(%USERPROFILE%\.glue),通过原生 shim 把 node、npm、npx 放上 PATH,全程不需要提权。

以后更新也是一条命令:

glue update nodejs-lts

想要 Current 版而不是 LTS?装 nodejs 包即可。

Node.js 的大版本按计划发布破坏性变更,而「我机器上是好的」从来不是理由。如果团队统一用一个 Node 大版本,别只靠自觉,锁住它:

glue install nodejs-lts@24   # 安装指定的大版本
glue hold nodejs-lts         # 锁定:glue update * 从此跳过这个包

关键是第二行:nodejs-lts 被 hold 之后,glue update * 会更新其他所有包、唯独不动 Node,迭代中途不会被顺手升级,也不会出现半个团队和 CI 各跑各的 Node 版本。

等团队决定升级时:

glue unhold nodejs-lts     # 解除锁定
glue update nodejs-lts     # 由你决定何时升级

如果实验把包留在了奇怪的版本上,glue reset nodejs-lts 会把它重置回默认版本。

方法 2(WinGet):Windows 内置

WinGet 随 Windows 10 和 11 一起发货,什么都不用先装:

winget install OpenJS.NodeJS.LTS
node --version

简单,但注意底下发生的事:WinGet 下载并运行官方 MSI,意味着会有 UAC 弹窗,并且装进 Program Files。更新用 winget upgrade,但同样是重跑安装器;同时保留多个 Node 版本这种事,本来就不是它的设计目标。

方法 3(官方 MSI 安装器)

传统路线:从 nodejs.org 下载 LTS 或 Current 安装器,运行,点几次下一步,完成。MSI 会替你配好 PATH,也自带 npm。

能用,但代价在后面:每次更新都要下载新的 MSI、用管理员权限重跑一遍;卸载又是另一个向导;为不同项目切换版本,则要经历卸载重装的循环。

方法 4(nvm-windows):天天切换多版本

如果你同时维护多个钉在不同 Node 大版本上的项目,nvm-windows 就是为这个场景而生的:

nvm install lts
nvm use 24.18.0
node --version

每个版本住在自己的文件夹里,nvm use 翻转一个链接,切换就是一条命令。代价是:安装和每次 nvm use 都需要管理员权限,而且 npm 全局包不会跟着 Node 版本一起迁移。

验证安装是否成功

无论用哪种方式,开一个新的终端检查:

node --version
npm --version

如果提示 node 不是内部或外部命令,最常见的原因是终端窗口太旧(PATH 在它打开之后才变更,新开一个)或者机器上之前用其他方式装过 Node。用 Glue 的话,glue doctor 会做环境体检,glue path check 会验证 shim 注册状态。

常见问题

Windows 上安装 Node.js 会自带 npm 吗?

会,四种方式都自带。npm 和 npx 就在 Node.js 的发行包里,装好 Node 就够了,Windows 上不存在单独安装 npm 的步骤。

LTS 和 Current 装哪个?

生产开发和绝大多数人:装 LTS,它有长期支持,也是 CI 和部署环境的标配。只有要测试 Node 未发布的新特性时才用 Current。用 Glue 的话两者只差一条命令:glue install nodejs-lts 或 glue install nodejs。

能同时装多个 Node.js 版本吗?

可以。Glue 把各版本并排装在自己的 apps 目录下:glue install nodejs-lts@24 装指定版本,glue reset nodejs-lts 切回默认版本,glue hold nodejs-lts 让 glue update * 跳过它。如果你偏好每天来回切、也不在乎提权弹窗,nvm-windows 是另一个选择。

我已经用 MSI 装过 Node 了,还能换到 Glue 吗?

可以,而且互不冲突,Glue 装在自己用户目录下的根目录里。如果希望 node 指向 Glue 管理的版本,先卸载 MSI 版本,再运行 glue install nodejs-lts,新开一个终端即可。

怎么卸载 Node.js?

用 Glue 的话:glue uninstall nodejs-lts,包和 shim 一起移除,不留注册表垃圾。用 WinGet 或 MSI 装的:winget uninstall OpenJS.NodeJS.LTS,或从「应用和功能」里走卸载向导。

结论

对多数开发者来说,包管理器路线是赢面最大的:一条命令、免管理员、不折腾 PATH、一条命令更新。Glue 在此之上还提供版本钉死和切换(glue hold、glue reset、nodejs-lts@24),第一天选的方案能一直用到项目需求变化:

irm https://gluestick.sh/install.ps1 | iex
glue install nodejs-lts
node --version

Comments

Loading…