使用nvm的情况下,不小心全局更新了npm版本,该怎么办?

大家好,我是南宫,最近一段时间我很累,工作中遇到了很多魔幻的过程,一度让我心惊肉跳的。前不久有个同事让我帮他试一下,重新拉一遍代码,重新安装依赖,看看打包的效果。结果我重装依赖的过程中一直报错,问AI,AI让我更新全局npm的版本,因为旧版本的问题可能会在新版本中被修复好

我在更新的过程中总感觉哪里不对劲——node和npm版本不是更新得很快吗?不同的版本甚至要求不同的Windows操作系统的版本吗?那既然我仍然在用这个版本,不就表示这个版本才是当前适合我的吗

果不其然,更新完版本以后,npm命令都直接不能用了——提示当前npm的版本是12的,不适用于node14,等于我的npm和node现在已经不能用了

那一瞬间我仿佛直接跌入了深渊。我刚学前端的时候,node的版本是6,后来我习惯用14的时候,发现已经更新到16了,那个时候我就意识到node的不同大版本是有很大不同,甚至无法兼容的。

去年我开始用nvm了,因为部分项目要用node16,其他大部分项目用node14,需要切换版本

在发现我当前node14无法使用版本这么高的npm的时候,我第一反应是切换node版本,因为npm和node版本是配套的。但是没有用,切换后,node16也无法使用版本这么高的npm

这个时候我再次向AI提问,回答居然是让我重新安装nvm。我现在在上班,nvm的官网在国外,根本无法再下载啊。

这个时候我突然想到,刚刚临时安装的新版本npm覆盖了我原本用nvm安装的npm,但是我并没有动我原本的nvm和npm啊,如果把临时安装的npm删掉,不就影响不到我了吗?

在AI的提示下,我在cmd中输入where npm,结果出来了4个东西:两个是D盘的npm和npm.cmd,另外两个是在E盘的。

根据地址的提示,我到对应的文件夹去看了,我注意到了文件夹的更新时间,其中D盘的那个是今天下午,E盘的那个是去年——很明显D盘的那个是刚刚误装的版本,我要保留的是E盘的那个

于是我删掉了D盘对应的文件夹,并且到环境变量中删掉对应的文件地址,并且提前了E盘的nvm相关变量的位置

经过这一顿操作后,我再次在cmd中输入 where npm,这个时候只有两个东西了,就是E盘的那两个

然后我输入npm -V,npm可以正常使用了。nvm切换后,npm的版本也正常,不会受到全局npm版本的覆盖了。我又可以继续用npm了。

就是我在用nvm安装14.19.1的node的时候,突然提示我域名有问题,然后冒出来一大堆域名,百度了以后了解到今年淘宝原本的npm的镜像过期了,只要重新设置一下npm和nvm的下载源就可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值