本文介绍: 1、实际上npm版本正常的话应该随着node版本切换自动切换,但是不行,可能哪里没卸载干净或者哪里还有问题2、环境变量,PATH的话系统变量覆盖用户变量,但不是PATH的花用户变量覆盖系统变量,但这也并不绝对,详见windows下用户变量和系统变量的优先级

问题

环境win10,公司内网,之前已安装nvmnvm下已手动安装node10.15.1和node14.16.0,但无法切换npm版本是6.9.0,需要实现能够切换node版本
过程中踩了一堆“玄学”的坑,这边稍作记录


解决

一、卸载

之前系统环境里已经乱七八糟了
1、先把两个node版本删掉,把nvm删掉
2、用node-14.16.0-x64.msi进行remove
3、cmd已经没有nvmnodenpm命令
4、但估计还是没有卸载干净

二、安装

1、用安装包安装nvm
2、执行node-14.16.0-x64.msi进行安装,安装成功
3、但是npm版本还是6.9.0(可能是没卸干净),于是npm安装新版
4、可是npm与node版本不匹配所以npm无法运行所以npm无法升级
5、于是——把node14删掉重新安装node10,安装好后npm还是6.9.0额,然后npm自己升级到6.14.11
6、再把nvm里的node10文件名改掉
7、用node10 msinode10卸载掉
8、再用node14 msi安装node14
9、安装完后把node10文件名改回来,现在nvm下有node14和node10了

三、切换

但是现在,nvm依然无法用nvm use方式两个版本间切换,虽然cmd中说成功了,但node –v还是原来的版本
windows搜索环境变量”,发现用户变量中有NVM_HOME和NVM_SYMLINK两个变量,且NVM_SYMLINK的路径指定了node10的地址直接把这两个用户环境变量删掉,问题解
在系统环境变量PATH里,有nvm下node版本的路径这个路径不用删,nvm切换版本时这里自动会变
不过看了一下同事环境变量,不管用户变量还是系统变量,都没有到node版本的路径,只到nvm路径可能之前修别的问题的时候我的环境变量乱掉了maybe


总结

1、实际上npm版本正常的话应该随着node版本切换自动切换,但是不行,可能哪里没卸载干净或者哪里还有问题
2、环境变量,PATH的话系统变量会覆盖用户变量,但不是PATH的花用户变量会覆盖系统变量,但这也并不绝对,详见windows下用户变量和系统变量的优先级

原文地址:https://blog.csdn.net/RogerQianpeng/article/details/134835223

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_50257.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注