告别Node.js版本困扰,轻松切换开发环境!
创始人
2025-07-06 00:00:23
0

大家好,我是 陌溪。

最近,在下载别人的开源项目进行学习的时候,总是因为 Node 环境问题导致没法依赖无法正常安装,因为人家开源项目限制了一定要高于某个版本,差点劝退了我。

Node版本限制Node版本限制

因为平时偶尔写写蘑菇的前端代码,所以我本地安装的 Node.js 版本一直是 14.x,由于不同 Node 版本之间也没有很好的兼容,所以会出现各种诡异的版本依赖报错。按照原来的做法,我是直接在 Node 官网又下载一个版本,然后把环境变量改成对应版本的,这样就可以正常安装了。等到使用完后,再修改回原来的版本,这一来一回真是太折腾人了。

这个问题应该在我们日常开发中应该会经常遇到,尤其是喜欢上开源网站上下载别人项目捣鼓的同学,每个项目之间的技术栈不同,使用的 Node 版本也各不相同,如果没有一个管理工具,那上面我的那种方式将会特别麻烦,直到我在网上冲浪的时候,发现别人都在使用 nvm 进行任意 Node 版本的切换,真是泰裤辣。

多个Node版本切换多个Node版本切换

nvm是什么

nvm 全英文也叫 node.js version management,是一个 nodejs 的版本管理工具,为了解决 node.js 各种版本存在不兼容现象,可以通过它可以安装和切换不同版本的 node.js。

这不就是为我这种开源学习者量身定制的么,后悔没早点安装它。

另外 nvm 也是完全开源的,如果是 windows 用户的话,可以直接访问开源的 Github 项目 nvm-windows。

https://github.com/coreybutler/nvm-windows

如果是 mac 或者 Linux 系统的用户的话,去下载 nwm 即可

https://github.com/nvm-sh/nvm

这里说一下:nvm 和 nvm-windows 的区别

  • nvm:Node.js 版本管理工具的原始实现,可以在 macOS 和 Linux 等类 Unix 系统上运行。
  • nvm-windows:专为 Windows 操作系统开发的 Node.js 版本管理工具,以在 Windows 上轻松管理 Node.js 版本。

但是虽然这两个开源软件名字是不同,他们的命令和使用是完全一致的,这个小伙伴根据自己的操作系统自行选择即可。

同时,除了这里提到的 nvm 和 nvm-windows 外,还有另外一款桌面级的Node.js 版本管理软件:nvm-desktop

  • nvm-desktop:是一个以可视化界面操作方式管理多个 Node 版本的桌面应用,使用 Electron 构建(支持 Macos 和 Windows 系统)。通过该应用,您可以快速安装和使用不同版本的 Node。

如果觉得命令的方式来操作 Node 版本切换过于麻烦 ,小伙伴也可以使用 nvm-desktop ,在下文中,陌溪也会亲自体验一波。

nvm下载

首先,我使用的是 Windows 电脑,所以需要去 Github Release 发行版去下载 nvm-windows

nvm-windows下载地址:
https://github.com/coreybutler/nvm-windows/releases/tag/1.1.11

然后选择 exe 结尾的可执行文件,点击下载即可

图片图片

下载nvm

下载完成后,直接点击安装即可,如果小伙伴电脑原来已经安装了 Node,在安装 nvm过程中可能会出现需要覆盖的确认项,直接同意覆盖即可。

如果是 mac 或者 linux 的用户,直接使用命令即可一键安装

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

安装完成后,使用 nvm 命令,如果出现了对应的版本,以及命令的帮助信息,即表示成功安装 nvm

安装成功安装成功

nvm配置

在安装好 NVM 后,首先需要打开安装目录,然后找到 settings.txt 文件

配置镜像配置镜像

在文件里需要配置对应的 node_mirror 和 npm_mirror 的镜像地址,下面是两个配置的作用:

  • node_mirror:是用于指定 Node.js 下载镜像的环境变量或配置选项。当你在安装 Node.js 时,Node.js 安装程序可能会从官方源下载 Node.js 的二进制文件。然而,有时官方源速度较慢或不稳定,因此你可以使用 node_mirror 来指定一个替代的镜像源,以提高下载速度和可靠性。
  • npm_mirror:是用于指定 npm 包管理器下载镜像的环境变量或配置选项。当你使用 npm 安装 Node.js 包时,npm 会从默认的全球源下载包。然而,有时这些全球源可能不够快或不够稳定。

所以,我们只需要在这个文件下面,追加淘宝的镜像地址即可:

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

NVM安装不同Node版本

在安装前,我们先了解一下常用的几个命令

  • nvm arch:显示node是运行在32位还是64位。
  • nvm install[arch] :安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过远程服务器的SSL。
  • nvm list [available] :显示已安装的列表。可选参数available,显示可安装的所有版本。list可简化为ls。
  • nvm on :开启node.js版本管理。
  • nvm off :关闭node.js版本管理。
  • nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。
  • nvm node_mirror [url] :设置node镜像。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  • nvm npm_mirror [url] :设置npm镜像。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  • nvm uninstall :卸载指定版本node。
  • nvm use [version] [arch] :使用指定版本node。可指定32/64位。
  • nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。
  • nvm version :显示nvm版本。version可简化为v。

首先,以蘑菇为例,推荐的 Node 版本是 14.x,所以我们需要使用 npm list available 去查看对应的版本

可用的Node版本可用的Node版本

可以看到,安装的列表里竟然没有蘑菇推荐的:14.x,(这。。看来这个版本已经太老了,下次得给蘑菇升级一下版本依赖了)

如果没有找到对应的版本,在列表下方的一行字体里也说了,这个是部分的列表信息,如果要完整的可以直接跳转到 Node 官网查看

This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases

我们进入到官网,即可看到 14.21.3 是目前还在维护的一个 node 版本,并且在 2023-02-16 还在更新

官网寻找官网寻找

好,那我们就安装 14.21.3 ,使用下面命令安装即可(强烈建议按照上面的方式,先配置好镜像地址,不然安装会很慢..)

nvm install 14.21.3

安装Node成功安装Node成功

安装完成后,我们可以用 nvm list 进行查看,可以看到 我们系统中已经有了这个版本的 Node

图片图片

但是现在还没有激活这个 Node,需要使用 npm use 命令进行激活使用,激活后就可以看到当前版本正在使用中

npm use 14.21.3

激活node激活node

激活后,我们查看一下当前的 npm 版本,可以看到已经成功切换到指定版本的 node 版本了

查看node版本查看node版本

切换到14.x后,就正常的运行蘑菇博客项目了~

运行蘑菇运行蘑菇


同时,我们还可以继续安装 其它版本的 Node,例如上面我下载的一个开源软件最低要求 16.x 版本的 Node,我们按照上述方法,找到一个合适的版本

nvm install 16.19.0

然后在查看目前系统中已经存在的版本,可以看到现在已经有两套 Node 版本了,一个是 14.x,一个是 16.x,我们可以按照自己项目依赖的版本,进行切换即可

图片图片

如果最后不想使用这个版本的 Node 了,也可以直接使用 nvm uninstall 命令卸载即可

nvm uninstall 14.21.3

图片图片

好了,关于 nvm 的使用就到这里了,小伙伴们赶紧使用起来~

nvm-desktop 初使用

介绍完 nvm 后,我们再来看另外一个桌面级的 node 版本管理器:nvm-desktop。

nvm-desktop 是一个用 Electron 开发的一个桌面应用,这个应用提供了以可视化界面操作的形式让用户为自己的操作系统设置和切换Node版本的能力,而nvm-desktop 想要具备这种能力就离不开 nvmd-command ,因为具体的功能是在 nvmd-command 中实现的。

nvmd-command 是一个单一、快速的本机可执行文件,没有外部依赖项,并且使用 Rust 构建,它依赖 nvm-desktop 的设置来识别出正确的 Node 版本。

首先,我们在 Github 中找到 nvm-desktop 下载地址

https://github.com/1111mp/nvm-desktop/releases

然后找到 windows 版本,选择 exe 后缀的文件进行下载

下载安装包下载安装包

下载完成后进行安装,最后运行成功后的页面如下所示,这个效果就和我们命令行的 nvm list 类似,会展示所有可安装的 node 版本信息

运行截图运行截图

并且,上面展示的 node 版本更全,比如:蘑菇需要用到的 16.x,在这里也都可以找到

更多的Node版本更多的Node版本

在安装 Node 前,也可以设置一下 node 的镜像地址,从而加速 node 的访问

设置镜像地址设置镜像地址

小伙伴根据自己项目的需要,使用对应版本即可

安装依赖安装依赖

安装完成后,我们切换到已安装的目录,点击更多选项,即可直接应用该版本,效果上面使用的 nvm use 也是一样的

切换成功切换成功

切换完成后,小伙伴也可以正常的使用 Node 了,如果要使用不同的版本,直接就去所有版本那里寻找即可。

关于如何优雅的切换 Node 版本就讲到这里了~

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...