Node 版本管理 快速切换版本、版本回退(降级)、版本更新(升级)

场景

最近遇到一些node的坑,比如6.3.0版的node用不了公司最新的工作流,升级到10.x版的node后,又用不了另一套工作流。

问题

怎么实现node版本降级、升级?是否可以安装多个版本按需要进行切换?

使用n
windows用户
不存在node模块冲突
节约硬盘空间(只会保留一份全局node模块)
觉得修改bashrc配置麻烦

使用nvm
node版本较多较复杂,需要考虑node模块的兼容性
本机以后会有更多node项目(还是node模块兼容)
不在乎硬盘空间(不同版本都会安装自有的node模块)

解决方案一(n)

(1)安装node版本管理模块n

sudo npm install n -g

下边步骤请根据自己需要选择

(2)安装稳定版

sudo n stable

(3)安装最新版

sudo n latest

(4) 版本降级/升级

sudo n 版本号

比如需要8.4.0版:
Node 版本管理 快速切换版本、版本回退(降级)、版本更新(升级)_第1张图片
(5)检测目前安装了哪些版本的node

n

如图,本人安装了四个版本,目前处于8.4.0:
Node 版本管理 快速切换版本、版本回退(降级)、版本更新(升级)_第2张图片
(6)切换版本(不会删除已经安装的其他版本)

n 版本号

比如切换到11.4.0版:n 11.4.0,运行后查看版本号 ,可见当前已经处于11.4.0:
Node 版本管理 快速切换版本、版本回退(降级)、版本更新(升级)_第3张图片
(7)删除版本

sudo n rm 版本号

比如删除本人电脑存在的6.9.1版可使用sudo n rm 6.9.1
在这里插入图片描述
输入密码,回车即可删除指定版本,如图,6.9.1已移除:
在这里插入图片描述
提示:
演示系统:macOS High Sierra 10.13.2;sudo是mac下输入密码验证身份的命令,因此windows用户应该是以管理员身份运行命令行工具,然后删除sudo即可。
举个例子:删除版本mac下是sudo n rm 版本号,windows下应该是n rm 版本号。

解决方案二(nvm)

前言
nvm 管理不同版本的 node 与 npm
nvm 是 NodeJS 的多版本管理工具,有点类似管理 Ruby 的 rvm,如果是需要管理 Windows 下的 node,官方推荐是使用 nvmw 或 nvm-windows 。

推荐另一篇nvm博客文章(特齐全):MuGuiLin 大神

首先得卸载已安装的全局 node/npm

在官网下载的 node 安装包,运行后会自动安装在全局目录,其中node 命令在 /usr/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/lib[lib64]/node_modules/npm。

安装 nvm 之后最好先删除下已安装的 node 和全局 node 模块:

npm ls -g --depth=0 // 查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装

sudo rm -rf /usr/lib[lib64]/node_modules // 删除全局 node_modules 目录
sudo rm /usr/bin/node // 删除 node
cd /usr/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm // 删除全局 node 模块注册的软链

// suse uninstall zypper install package
zypper uninstall node

第一步:下载
nvm-windows 下载地址:https://github.com/coreybutler/nvm-windows/releases

第二步:安装
在这里插入图片描述
解压后,直接安装,我这里使用的是默认路径,也可以自己选择路径,但路径最好不要带中文。
在这里插入图片描述在这里插入图片描述
检查 nvm 是否安装完成(nvm -v),结果报错:
在这里插入图片描述
第一反应是环境变量配置有问题,但是检查环境变量后,发现无异常。
在这里插入图片描述
Node 版本管理 快速切换版本、版本回退(降级)、版本更新(升级)_第4张图片
由于之前使用 npm 下载安装过 angular cli,vue-cli,webpack 等等,所以需要删了下面的文件。

C:\Users\Administrator\AppData\Roaming\npm
C:\Users\Administrator\AppData\Roaming\npm-cache

再次执行 nvm 看到如下信息表示安装成功。
Node 版本管理 快速切换版本、版本回退(降级)、版本更新(升级)_第5张图片

第三步:修改settings.txt
在你安装的目录下找到settings.txt文件,打开后加上

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

这一步主要是将npm镜像改为淘宝的镜像,可以提高下载速度。

第四步:node.js 安装
接下来使用 nvm 命令安装某个版本的 nodejs:

nvm install 4.7.0

NVM常用命令

nvm install stable  //安装最新版 node
nvm install [node版本号]  //安装指定版本的node
nvm ls // 查看已安装版本
nvm use [node版本号]  //切换到指定版本的node
nvm alias default [node版本号] //设置默认版本
nvm list installed 查看已经安装的版本
nvm list available 查看网络可以安装的版本
nvm version 查看当前的版本
nvm install 安装最新版本nvm
nvm use  ## 切换使用指定的版本node
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路径

参考文献
https://www.jb51.net/article/203647.htm
https://www.jb51.net/article/127421.htm

你可能感兴趣的:(node,版本管理,前端)