【前端】windows下nvm安装node、npm的一些坑

问题

环境是win10,公司内网,之前已安装过nvm,nvm下已手动安装过node10.15.1和node14.16.0,但无法切换,npm版本是6.9.0,需要实现能够切换node版本。

过程中踩了一堆"玄学"的坑,这边稍作记录。


解决

一、卸载

之前系统环境里已经乱七八糟了

1、先把两个node版本删掉,把nvm删掉

2、用node-14.16.0-x64.msi进行remove

3、cmd已经没有nvm、node、npm的命令了

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 msi把node10卸载掉

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下用户变量和系统变量的优先级

相关推荐
Chengbei1114 小时前
云安全漏洞挖掘SKILL、一站式云漏洞挖掘工具,支持S3爆破、IMDS探测、K8s检测与AK/SK权限利用
前端·人工智能·网络安全·云原生·容器·kubernetes·系统安全
不简说14 小时前
JS 代码技巧 vol.9 — 20 个设计模式在真实项目里的应用
前端·javascript·github
CoderLiu14 小时前
Agent 工程的下一层:为什么「把流程写成图」还不够,还需要 Graph Engineering
前端·人工智能·后端
jing.wang_202514 小时前
NVIDIA CUDA C++编程环境搭建--Windows + Ubuntu 22.04
c++·windows·ubuntu·gpu算力
勇往直前plus14 小时前
Vue3(篇三) Element Plus
前端·javascript·typescript·vue
爱勇宝15 小时前
《道德经》第 8 章:真正高级的能力,像水一样成事
前端·后端·程序员
Revolution6115 小时前
数组本身没有 map,为什么还能直接调用:原型链怎样查找属性
前端·javascript·面试
bonechips15 小时前
RAG实战(一):EPUB 加载、文本切割与向量入库
前端·数据库
swipe15 小时前
10|(前端转全栈)库存扣减为什么最容易出事故?SKU、并发与原子更新
前端·后端·全栈
cdcdhj15 小时前
vue3中的watchEffect()监听,什么时候监听,什么时候清理,什么时候停止
前端·javascript·vue.js