手把手带你在windows下通过nvm管理node版本

1,415 阅读3分钟

一、背景

新搭建了一个VUE3项目,一顿操作过后发现,npm run dev报错了!!报错内容structuredClone is not defined,一搜大概意思是structuredClone 是 JS 中一个较新的功能,用于深拷贝对象,如果你的运行环境(浏览器或 Node.js 版本)较旧,可能不支持该函数!
想到要升级node,还要卸载、下载、配置环境变量....丸辣,心都凉了/(ㄒoㄒ)/~~
然后我发现了一个极好的小工具nvm,他可以方便地管理和切换多个Node.js版本。
接下来我将使用过程记录下来!

二、卸载Node

如果你已经安装了node,那么你需要先卸载node(不然安装nvm可能会失败)。
1. 卸载Node
打开控制面板,找到程序->卸载程序,找到node,卸载就可以啦。 image.png 2. 删除环境变量

  • Win+R 打开运行对话框;
  • 输入sysdm.cpl命令并回车;
  • 选择“高级”一栏;
  • 点击“环境变量”;
  • 把之前配置的node相关的环境变量通通删掉。 image.png

3. 删除相关文件

  • 查看node安装目录中还有没有node文件夹,有的话删掉;
  • 查看C:\Users\用户名文件夹下有没有.npmrc以及.yarnrc等等统统删除。

三、nvm下载及安装

接下来正式进入nvm~
下载安装包:Releases · coreybutler/nvm-windows (github.com)

image.png

下载好后解压并安装就可以了。
完成后查看是不是安装成功了:Win+R 打开运行对话框;输入cmd命令并回车;nvm version

image.png 如果没有成功的话...嗯...你再查查咋整!

四、nvm下载并使用Node

cmd中输入nvm list available, 查看可以安装的node版本。

image.png

选择一个版本安装: nvm install 20.10.0;
使用这个版本:nvm use 20.10.0;
最后node -v会发现,妈呀!太好用了吧~😊 image.png

五、附

此时已经完成了windowsnvm的安装及使用,接下来是你可能会用到的知识。

5.1.nvm配置淘宝镜像

下载node.js时候可能国内限速,此时可以通过修改nvm安装路径下的settings.txt文件来提速。

image.png

5.2.如何选择Node.js版本

在上面输入nvm list available, 查看可以安装的node版本的过程中我们注意到有这样几个栏: CURRENTLTSOLD STABLE 和 OLD UNSTABLE
接下来我们来说说他们几个是啥意思,以及该怎么选择合适的node版本。 image.png 1.CURRENT(当前版本)

  • 定义:CURRENT 是 Node.js 的最新发布版本,包含最新的特性和改进。
  • 特点:
    • 包含最新的功能和 API。
    • 可能尚未经过充分的生产环境测试。
    • 适合喜欢尝试新特性的开发者。
  • 生命周期:
    • 每个 CURRENT 版本会在发布后 6 个月进入 LTS(长期支持)阶段,或者被淘汰。

2.LTS(长期支持版本)

  • 定义:LTS 是 Node.js 的长期支持版本,适合生产环境使用。
  • 特点:
    • 稳定性高,经过充分测试。
    • 提供长达 30 个月的安全更新和 bug 修复。
    • 适合企业级应用和生产环境。
  • 生命周期:
    • 每个 LTS 版本会经历Active LTSMaintenance LTS两个阶段:
    • Active LTS:持续 12 个月,定期发布更新。
    • Maintenance LTS:持续 18 个月,仅修复重大 bug 和安全问题。

3.OLD STABLE(旧稳定版本)

  • 定义:OLD STABLE 是指已经结束 LTS 支持的旧版本。
  • 特点:
    • 曾经是 LTS 版本,但已经过了维护期。
    • 不再接收安全更新或 bug 修复。
    • 不建议在生产环境中使用。

4.OLD UNSTABLE(旧非稳定版本)

  • 定义:OLD UNSTABLE 是指那些从未进入 LTS 阶段的旧版本。
  • 特点:
    • 这些版本通常是 CURRENT 版本,但由于某些原因(如发布时间较短)未能进入 LTS 阶段。
    • 不再接收任何更新。
    • 不建议使用。

如何选择合适的版本?

  • 生产环境:选择最新的LTS版本,因为它稳定且长期支持。
  • 开发环境:可以尝试CURRENT版本,体验最新特性。
  • 避免使用:OLD STABLE 和 OLD UNSTABLE 版本,因为它们不再维护。

参考

nvm.p6p.net/about.html
window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)-CSDN博客