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


    背景

          因为某些无法明说的原因,公司配的电脑无法执行操作 “系统环境变量”的写操作,只能操作“用户环境变量”。故 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 代码如下:

    1. @echo off
    2. :: set /p fileString=<./nodes_config.json
    3. :: echo %fileString%
    4. set nodes[0]=C:\Users\xxx\mynodes\node-v14.21.3-win-x64
    5. set nodes[1]=C:\Users\xxx\mynodes\node-v18.18.0-win-x64
    6. set "x=0"
    7. :SymLoop
    8. if defined nodes[%x%] (
    9. call echo %x% : %%nodes[%x%]%%
    10. set /a "x+=1"
    11. GOTO :SymLoop
    12. )
    13. :: 延迟扩展,不然 !nodes[%version%]! is not ok
    14. setlocal EnableDelayedExpansion
    15. set /p version=please input your node version index :
    16. set currentNodeDir=
    17. if ""=="%version%" (
    18. set /a version=0
    19. )
    20. set currentNodeDir=!nodes[%version%]!
    21. echo your node version is %version%
    22. echo %currentNodeDir%
    23. pause;
    24. ::echo "we have to delete two elder keys of registor"
    25. reg delete HKCU\Environment /v RAIN_NODE_HOME /f
    26. reg delete HKCU\Environment /v Path /f
    27. echo "we must insert two keys of HKEY_CURRENT_USER [RAIN_NODE_HOME and Path]"
    28. reg add "HKCU\Environment" /f /t REG_SZ /v RAIN_NODE_HOME /d "%currentNodeDir%"
    29. reg add "HKCU\Environment" /f /t REG_SZ /v Path /d "%currentNodeDir%"
    30. pause;

    如果想加入新的 node 版本,就在图中代码位置加即可:

    1. set nodes[0]=C:\Users\we749\Documents\mynodes\node-v14.21.3-win-x64
    2. set nodes[1]=C:\Users\we749\Documents\mynodes\node-v18.18.0-win-x64
    3. set nodes[2]=C:\Users\we749\Documents\mynodes\node-v18.18.0-win-x64
    4. set nodes[3]=C:\Users\we749\Documents\mynodes\node-v18.18.0-win-x64
    5. set nodes[4]=C:\Users\we749\Documents\mynodes\node-v18.18.0-win-x64

    双击运行:

    上面列出了版本的序号,你输入想切换的序号即可。如果不输入直接回车,则选择第一个。

    然后记得重启电脑。

    cmd 输入 node -v 试试吧。

  • 相关阅读:
    Android sdk 生成api doc文档
    day 2
    打造千万级流量秒杀第二十八课 性能调优:如何使用 ab 命令和 pprof 分析性能?
    职业了解|03师范生的编制教师之路
    【配置】win10+vscode+opencv4+mingw+cmake
    反射机制(Reflection)
    Wireshark分析HTTPS流量
    图像处理与计算机视觉--第一章-计算机视觉简介-10问
    力扣(LeetCode)123. 买卖股票的最佳时机 III(C++)
    从大龄程序员现状聊聊出路
  • 原文地址:https://blog.csdn.net/rainyspring4540/article/details/133639687