大家好,我是 陌溪。

最近,在下载别人的开源项目进行学习的时候,总是因为 Node 环境问题导致没法依赖无法正常安装,因为人家开源项目限制了一定要高于某个版本,差点劝退了我。
Node版本限制
因为平时偶尔写写蘑菇的前端代码,所以我本地安装的 Node.js 版本一直是 14.x,由于不同 Node 版本之间也没有很好的兼容,所以会出现各种诡异的版本依赖报错。按照原来的做法,我是直接在 Node 官网又下载一个版本,然后把环境变量改成对应版本的,这样就可以正常安装了。等到使用完后,再修改回原来的版本,这一来一回真是太折腾人了。
这个问题应该在我们日常开发中应该会经常遇到,尤其是喜欢上开源网站上下载别人项目捣鼓的同学,每个项目之间的技术栈不同,使用的 Node 版本也各不相同,如果没有一个管理工具,那上面我的那种方式将会特别麻烦,直到我在网上冲浪的时候,发现别人都在使用 nvm 进行任意 Node 版本的切换,真是泰裤辣。
多个Node版本切换
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 和 nvm-windows 外,还有另外一款桌面级的Node.js 版本管理软件:nvm-desktop
如果觉得命令的方式来操作 Node 版本切换过于麻烦 ,小伙伴也可以使用 nvm-desktop ,在下文中,陌溪也会亲自体验一波。
首先,我使用的是 Windows 电脑,所以需要去 Github Release 发行版去下载 nvm-windows
nvm-windows下载地址:
https://github.com/coreybutler/nvm-windows/releases/tag/1.1.11然后选择 exe 结尾的可执行文件,点击下载即可
图片
下载完成后,直接点击安装即可,如果小伙伴电脑原来已经安装了 Node,在安装 nvm过程中可能会出现需要覆盖的确认项,直接同意覆盖即可。
如果是 mac 或者 linux 的用户,直接使用命令即可一键安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash安装完成后,使用 nvm 命令,如果出现了对应的版本,以及命令的帮助信息,即表示成功安装 nvm
安装成功
在安装好 NVM 后,首先需要打开安装目录,然后找到 settings.txt 文件
配置镜像
在文件里需要配置对应的 node_mirror 和 npm_mirror 的镜像地址,下面是两个配置的作用:
所以,我们只需要在这个文件下面,追加淘宝的镜像地址即可:
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/在安装前,我们先了解一下常用的几个命令
首先,以蘑菇为例,推荐的 Node 版本是 14.x,所以我们需要使用 npm list available 去查看对应的版本
可用的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成功
安装完成后,我们可以用 nvm list 进行查看,可以看到 我们系统中已经有了这个版本的 Node
图片
但是现在还没有激活这个 Node,需要使用 npm use 命令进行激活使用,激活后就可以看到当前版本正在使用中
npm use 14.21.3激活node
激活后,我们查看一下当前的 npm 版本,可以看到已经成功切换到指定版本的 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 后,我们再来看另外一个桌面级的 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 的访问
设置镜像地址
小伙伴根据自己项目的需要,使用对应版本即可
安装依赖
安装完成后,我们切换到已安装的目录,点击更多选项,即可直接应用该版本,效果上面使用的 nvm use 也是一样的
切换成功
切换完成后,小伙伴也可以正常的使用 Node 了,如果要使用不同的版本,直接就去所有版本那里寻找即可。
关于如何优雅的切换 Node 版本就讲到这里了~