一台 windows 电脑安装多个 node 版本,实现自由切换(不用 nvm)

📅 2026/8/21 14:41:55
一台 windows 电脑安装多个 node 版本,实现自由切换(不用 nvm)
背景因为某些无法明说的原因公司配的电脑无法执行操作 “系统环境变量”的写操作只能操作“用户环境变量”。故 nvm 无法安装。但是目前多项目用到的node 版本不同需要安装多个版本。需要像 nvm 一样 安装多个版本后自由切换版本。所以就自己开发了个批处理脚本自己动手丰衣足食。截个图说下多个 node 版本的放置约定和限制请重点关注需要提前卸载 exe 形式安装的所有node 版本保证无node残留。必须和执行的批处理rain_start_v2.bat放在同一目录。node 版本需要下载 zip 的可解压版。每次执行切换版本后需要重启电脑让用户环境变量生效。每次切换版本后虽然不会影响系统环境变量 path但会直接涂改 “用户环境变量path”。如果你在用户环境变量path 里存了很多配置信息则请慎用。当然作为10年开发的笔者若不是遇到这家公司奇葩的电脑限制否则至今对用户环境变量path 从未用过都是用的系统环境变量path。如图所示rain_start_v2.bat 代码如下echo off :: set /p fileString./nodes_config.json :: echo %fileString% set nodes[0]C:\Users\xxx\mynodes\node-v14.21.3-win-x64 set nodes[1]C:\Users\xxx\mynodes\node-v18.18.0-win-x64 set x0 :SymLoop if defined nodes[%x%] ( call echo %x% : %%nodes[%x%]%% set /a x1 GOTO :SymLoop ) :: 延迟扩展不然 !nodes[%version%]! is not ok setlocal EnableDelayedExpansion set /p versionplease input your node version index : set currentNodeDir if %version% ( set /a version0 ) set currentNodeDir!nodes[%version%]! echo your node version is %version% echo %currentNodeDir% pause; ::echo we have to delete two elder keys of registor reg delete HKCU\Environment /v RAIN_NODE_HOME /f reg delete HKCU\Environment /v Path /f echo we must insert two keys of HKEY_CURRENT_USER [RAIN_NODE_HOME and Path] reg add HKCU\Environment /f /t REG_SZ /v RAIN_NODE_HOME /d %currentNodeDir% reg add HKCU\Environment /f /t REG_SZ /v Path /d %currentNodeDir% pause;如果想加入新的 node 版本就在图中代码位置加即可set nodes[0]C:\Users\we749\Documents\mynodes\node-v14.21.3-win-x64 set nodes[1]C:\Users\we749\Documents\mynodes\node-v18.18.0-win-x64 set nodes[2]C:\Users\we749\Documents\mynodes\node-v18.18.0-win-x64 set nodes[3]C:\Users\we749\Documents\mynodes\node-v18.18.0-win-x64 set nodes[4]C:\Users\we749\Documents\mynodes\node-v18.18.0-win-x64双击运行上面列出了版本的序号你输入想切换的序号即可。如果不输入直接回车则选择第一个。然后记得重启电脑。cmd 输入 node -v 试试吧。