告别Node.js版本困扰,轻松切换开发环境!

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

大家好,我是 陌溪。

最近,在下载别人的开源项目进行学习的时候,总是因为 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 版本就讲到这里了~

责任编辑:武晓燕 来源: 陌溪教你学编程
相关推荐

2015-03-10 10:59:18

Node.js开发指南基础介绍

2011-10-24 16:16:02

Node.js

2013-11-01 09:34:56

Node.js技术

2012-09-29 11:13:15

Node.JS前端开发Node.js打包

2024-06-17 08:03:51

2024-02-27 09:27:00

JavaScriptNode.jsNPM包

2011-11-01 10:30:36

Node.js

2011-09-02 14:47:48

Node

2011-09-08 13:46:14

node.js

2011-09-09 14:23:13

Node.js

2024-07-12 14:54:48

2022-01-07 08:00:00

Node.js开发Web

2014-02-14 10:48:32

Visual StudNode.js

2012-10-24 14:56:30

IBMdw

2011-11-10 08:55:00

Node.js

2020-11-26 08:26:53

JS

2011-11-10 11:08:34

Node.js

2014-08-01 09:57:52

Node.jsNode.js插件

2013-05-17 09:41:02

Node.js云应用开发IaaS

2021-01-14 10:48:34

Docker CompNode.js开发
点赞
收藏

51CTO技术栈公众号