尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
一台 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 试试吧。
RELATED

相关推荐

一阶滤波的数字化表达式

一阶滤波的数字化表达式

怎么用简单的数字化算法完成一阶滤波表达式yaxby (ab1)ADC采样值cont,离散数学表达式如下:Yn(Xn3Y(n-1))/4这是4分之一一阶滤波数字表达式当第一次采样得X0则Y0X0

📅 2026/9/20 14:40:03
数学建模实战推演:从问题解构到可交付代码

数学建模实战推演:从问题解构到可交付代码

1. 这不是“押题”,而是建模现场的实时推演逻辑“2024五一数学建模B题思路模型代码”——看到这个标题,很多同学第一反应是“快!抢模板!”、“有没有现成的代码能直接跑?”、“老师划重点没?”。但我要先泼…

📅 2026/10/7 15:39:58
Flink on Yarn国赛级实战:资源模型、版本锁链与配置落地

Flink on Yarn国赛级实战:资源模型、版本锁链与配置落地

1. 这不是普通安装,是国赛级Flink on Yarn实战靶场“2023年大数据国赛第二套任务A——Flink on Yarn安装配置”,这行字在备赛群里刷屏时,我正蹲在机房调试第三台虚拟机。它不是一句轻飘飘的“装个Flink”,而是国赛现场真实压测环境…

📅 2026/10/9 2:15:46
MORE NEWS

更多资讯

📰

深入学习stm32hal定时器1

1.清除MOE什么是MOE?MOE是main output,是高级定时器(如 STM32 中的 TIM1、TIM8)特有的一个安全控制机制,它由 BDTR(断路和死区寄存器)中的 MOE 位(Main Output Enable) 控…

📰

TicketHunter Pro(票务猎手)

演唱会门票秒没,黄牛加价数倍,这是每个粉丝都经历过的痛。**TicketHunter Pro(票务猎手)** —— 票务监控与协议系统。本文将分享这个项目背后的技术思路与实现细节。> 声明:本文及项目仅供技术研究和学习使用&…

📰

cv610_cv608串口烧录固件,需要上拉soc_Pin52_FAST_BOOT_MODE脚

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Keil Debug调试心得

下面这个问题是基于程序6-12libmodbus_all_uart来实现的1.在keil中监控局部变量,必须在该函数内部断点进行访问,不然是访问不到这个变量的实际内容的所以目前问题,进一步定位在,为什么信号量无法正确的创建,好无奈的&a…

📰

深入解析Linux链接:软链接与硬链接的本质区别与实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Thaiphoon Burner内存SPD修改全攻略:从备份到刷写恢复

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬