NodeJS的多版本安装及切换
简介
为什么会写这么一篇博客呢,一是考虑到备份问题,二是考虑到搜索问题,三则是考虑到其他的文章源可能因为某些原因失效的问题。
那么下面我们就来说说遇到的场景。
当项目使用的Node版本你不清楚是哪个版本的时候,那么你可以到项目的 package.json 文件中找到下面的内容
"engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" },
这个节点呢就明确的告诉了你node的版本需要什么版本以上的,那么在这个版本之上,可以随便找一个版本去安装就可以了
那为什么要用到多版本切换呢,理论上大于6.0.0的版本不是就完全可以了么?还装那么多Node版本不是多此一举么?
这个跟历史有关系,每个Node的版本所依赖的包也都是不同的个人及团体创建的,版本号不可能全部完全统一,每个包的维护和更新也都跟团队的更新进度有关系,所以也就产生了Node包更新的时候也同样的支持了不同包的版本号
那多版本切换使用在什么场景下呢
当你安装的包发现,无论怎么安装依赖都无法正常运行的时候,或者无法安装成功的时候,就要根据错误提示,去找不支持当前Node版本的包的依赖包,它支持的Node版本是哪个,那么你就要安装这个版本的Node来运行这个项目才可以
步骤
这里需要引入一个名词nvm,它是一个多版本管理NodeJS的工具
第一步:下载
下载地址:https://github.com/coreybutler/nvm-windows/releases
第二步:安装
按照提示完成安装即可,安装完成后可以检测一下是否安装成功
在cmd命令行输入nvm,如果出现nvm版本号和一系列帮助指令,则说明nvm安装成功。
第三步:修改settings.txt
在你安装的目录下找到settings.txt文件,打开后加上
node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/
这一步主要是将npm镜像改为淘宝的镜像,可以提高下载速度。
第四步:node.js 安装
可以先使用 num list 查看本地已安装的版本
然后使用 nvm list available 查看所有版本
NVM常用命令 nvm list 查看已经安装的版本 nvm list installed 查看已经安装的版本 nvm list available 查看网络可以安装的版本 nvm version 查看当前的版本 nvm install 安装最新版本nvm nvm use## 切换使用指定的版本node nvm ls 列出所有版本 nvm current显示当前版本 nvm alias ## 给不同的版本号添加别名 nvm unalias ## 删除已定义的别名 nvm reinstall-packages ## 在当前版本node环境下,重新全局安装指定版本号的npm包 nvm on 打开nodejs控制 nvm off 关闭nodejs控制 nvm proxy 查看设置与代理 nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/ nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/. nvm uninstall 卸载制定的版本 nvm use [version] [arch] 切换制定的node版本和位数 nvm root [path] 设置和查看root路径
第五步:获取所有可以安装的 Node.js 版本
nvm list available
LTS
指最新稳定版本,CURRENT
指最新版本,一般安装 LTS
第六步:安装指定版本的 Node.js
nvm install 10.11.0
第七步:列出所有已经安装的版本
nvm list
第八步:指定当前要使用的 Node.js 版本,只用指定使用的 Node.js 版本后,nodejs 的才真正安装了。
nvm use 10.11.0
第九步:卸载某个 Node.js 版本
nvm uninstall 10.11.0
到此呢,使用nvm来管理你的NodeJS的多版本安装和切换就完全足够了,如果想要研究更深层次的,可以去玩一玩nvm的命令,深刻理解一下。
文献参考:
https://www.cnblogs.com/czql/articles/11064849.html
https://www.runoob.com/w3cnote/node-multi-version.html (手动安装node多版本)
https://www.cnblogs.com/stevexu/p/9734249.html