跳转到内容

Windows 上多版本 Node.js:绝对路径胜过 nvm

核验于 1 分钟阅读

nvm-windows 管 CLI,但每个服务固定绝对 node.exe,避免全局切换打挂生产。

测试环境Standard / Datacenter · 版本号 26100.33650 · x64
E1
版本号
26100.33650
版本
Standard / Datacenter
架构
x64
支持
文档(E1)
证据
E1官方文档
核验日期
2026-10-29
页面类型
方法

nvm-windows 切换的是全局符号链接(C:\Program Files\nodejs)。对 shell 方便,对服务危险。

多应用:

  1. 每个 Node 版本独立目录(C:\node\20、C:\node\22)。
  2. 服务/脚本固定绝对 node.exe。
  3. 用同目录的 npm.cmd。
  4. node_modules 每应用独立,不共享全局包。
终端窗口
nvm list
nvm install 22.14.0
nvm use 22.14.0
where.exe node
node --version

nvm use 后 where node 指向活动符号链接。开发方便;不是生产选择器。

C:\node\20\node.exe
C:\node\22\node.exe
C:\apps\api-a\server.js
C:\apps\api-b\server.js

运行:

终端窗口
& C:\node\20\node.exe C:\apps\api-a\server.js
& C:\node\22\node.exe C:\apps\api-b\server.js

服务包装器必须用同一绝对路径。用 node 创建的服务在启动时走 PATH;nvm 一切换,下次重启就可能用错版本。

终端窗口
cd C:\apps\api-a
& C:\node\20\npm.cmd ci --omit=dev

用锁文件 + npm ci 做可重复安装。不要 npm install -g 应用依赖;全局包共享且无版本边界。

终端窗口
& C:\node\20\node.exe --version
& C:\node\20\npm.cmd --version
Get-CimInstance Win32_Process -Filter "Name='node.exe'" |
Select-Object ProcessId, ExecutablePath, CommandLine

ExecutablePath 应显示固定版本,不是 nvm 符号链接。

  1. 新 Node 装在旧版旁边。
  2. 用新绝对 node.exe 跑应用测试。
  3. 更新服务包装器路径。
  4. 重启一个服务,看日志和指标。
  5. 回滚不需要后再删旧目录。

E1。实验室没有装 Node/nvm-windows;这是生产选择器模式,不是已复现结果。

来源