npm升级后node没有升级报错,用nvs解决版本问题

背景:本地npm升级到了v9.6.4,但node依然是v12.18.4,这个node版本不足以支持v9.6.4版本的npm。正常的版本对应大概如下:

node v12.18.4 对应 npm v6.x
node v18.16.0 对应 npm v9.x

而我的本地变成了如下:

node v12.18.4 对应 npm v9.x(错了,这样npm就不能用了,需要更高node版本)

所以,需要改正版本对应关系。与我而言,目前的办法是直接升级node版本最简单。怎么升级呢?我使用了node的版本管理器nvs。

nvs他跨平台,易操作,对于node的版本管理很友好。而且,项目多了,对于node的版本需求自然不同,方便我们开发中自由切换node版本满足不同项目的依赖。
介绍下,node的版本管理器还有nvm和n。

安装nvs:

1,下载nvs的msi安装包(选择msi而不是zip是因为windows环境环境配置比较复杂,而msi中包含了基础配置,为我们免去了一定工作)
2,安装最新的 LTS 版本
$ nvs add lts
3,配置为默认版本
$ nvs link lts
4,安装其他版本
$ nvs add 16
5,查看已安装的版本
$ nvs ls
6,在当前命令行中切换版本
$ nvs use 16
7,更多指令
nvs --help
8,11

注意:在使用命令 nvs use xx 切换node版本后,npm版本也就跟着切换了。(每次安装node时,会自动安装好一个对应的npm版本)
如果想改变某个node版本下的npm版本,可以切换到node版本后,直接npm i npm@x.xx -g 即可。

举例:想要改变 node v18.x下的npm版本 ,需要:

nvs use 18 //切换到18版本下
node -v // 查看当前版本是不是18版本
npm i npm@3.4.5 -g // 更换npm版本,即重新安装指定版本
npm -v // 查看安装结果

注意:我原来本地并未使用过nvs做node的版本管理,所以使用nvs安装了 node v12.18.4 对应 npm v6.x 之后,他与我本地原来的node v12.18.4 并不冲突,nvs 安装的node 在不同的路径下,当然了,以后如果做项目,我需要使用nvs路径下的node,原来本地的node我就不用了。

每次项目启动,编译前,我都会使用nvs下的node,并做初步确认操作。大概步骤是:
1,查看当前node版本:node -v ;查看nvs下的node版本们:nvs ls
2,查看npm版本(两个都查看一下,为了保险嘛):npm -v
3,切换到自己需要的node版本:nvs use 12
4,再次查看切换后的node版本(指定版本后,展示出来的列表中那个被指定的版本 前面有个v):nvs ls
5,再次查看切换后的npm版本:npm -v

tips:每次执行nvs use xxx 本质是改变了环境变量的指向。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值