关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1

nvm介绍和安装常见命令见其他大佬博客

nvm安装和使用详细教程

问题一: nvm install安装了其他版本,切换版本提示成功,实际上并没有成功

场景描述:

使用nvm install安装14.20.0(任意版本号,此处为演示,经过尝试14版本系列可能都存在该问题),从下图总可以看到,安装过程中出现一些问题;
关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1_第1张图片

使用nvm ls命令查看确实已经包含该版本;
关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1_第2张图片

使用nvm use切换最新安装版本,提示切换成功;
使用nvm current 命令查看当前node版本,提示未设置默认版本……,明明你刚刚提示我切换版本成功了呀,你个骗子!!
关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1_第3张图片

原因分析

查看本地nvm 列表,安装在C盘的可以循着下图路径去找
关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1_第4张图片
从上图可以看出14.20.0版本确实已经有了。但是请您现在打开进去对比一下14.20.0版本和其他版本有何区别。我们可以看到该版本未能成功下载npm包,此时可以查看node版本是可以查到的,npm会提示“npm”不是内部或者外部命令,也不是可运行的程序或批处理文件。
关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1_第5张图片

问题解决

从上述内容可知,原因在于14.20.0版本中的对应npm未能成功安装,但是从错误提示我们可以看出其实已经下载了npm压缩包,只不过出错了放在了temp文件夹里,如下图

关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1_第6张图片
关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1_第7张图片
但是!!!压缩包大小为0?切不可解压,发现压缩包出错了, 所以我们需要自己去下载npm压缩包,那么下载哪个版本呢?
1、temp中压缩包虽然坏了,但是他提示了我们应该下载的npm对应的版本;
2、去node网站查询当前node对应的npm版本,也可以;
npm版本下载地址
根据node版本查询对应npm版本地址

下载完对应npm压缩包后解压,并把文件夹名称改为npm,然后放入14.20.0版本中的node_modules文件夹中
关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1_第8张图片

然后把npm包里面bin文件夹下方的npm npm.cmd复制出来到外层如下图
关于nvm node版本管理工具常见问题总结:nvm安装node成功npm失败,切换版本报错exit status 1_第9张图片

此时再查询当前npm版本号,发现OK了耶!!!

问题二: 切换版本报错exit status 1: 一堆乱码

网站上搜索了一堆答案都是:使用管理员命令进行操作,可是我一直在使用管理员命令啊,还尝试过重启电脑的绝招都不好使哈哈。
……
最后发现,只需要执行2行命令
1、nvm off (关闭版本控制)
2、nvm on(开启)
3、nvm use 14.20.0(此时再查看确实已经切换成功了耶)

今儿就写到这里了,有别的问题,后续在更新吧

你可能感兴趣的:(javascript,前端,npm)