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

4 篇文章 0 订阅
1 篇文章 0 订阅

背景

      因为某些无法明说的原因,公司配的电脑无法执行操作 “系统环境变量”的写操作,只能操作“用户环境变量”。故 nvm 无法安装。但是,目前多项目用到的node 版本不同,需要安装多个版本。需要像 nvm 一样 安装多个版本后,自由切换版本。

     所以就自己开发了个批处理脚本,自己动手,丰衣足食。

    截个图,说下多个 node 版本的放置约定和限制(请重点关注):

  1. 需要提取卸载 exe 形式安装的所有node 版本,保证无node从残留。
  2. 必须和执行的批处理(rain_start_v2.bat)放在同一目录。
  3. node 版本需要下载 zip 的可解压版。
  4. 每次执行切换版本后,需要重启电脑(让用户环境变量生效)。
  5. 每次切换版本后,虽然不会影响系统环境变量 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 "x=0"
:SymLoop 

if defined nodes[%x%] ( 
   call echo %x% : %%nodes[%x%]%%
   set /a "x+=1"
   GOTO :SymLoop 
)

:: 延迟扩展,不然 !nodes[%version%]! is not ok
setlocal EnableDelayedExpansion

set /p version=please input your node version index :
set currentNodeDir=

if  ""=="%version%" (
  set /a version=0
) 
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 试试吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值