🤔公司实习生居然还在手动切换node版本?

前段时间看了实习生的新项目,发现他启动不了项目,因为node版本太低,我让他去用nvm来管理node的版本,然后看到他切换版本的时候是这样的,先用nvm下载安装目标的node版本,然后在把安装好的node版本替换掉原先的node路径下的node_modules,才发现原来他使用nvm来切换node版本虽然显示切换成功,但全局的node版本一直是不变的,对于这个问题进行解决并且梳理

可以直接跳到第四步查看解决方案

1️⃣ 安装nvm

js 复制代码
where nvm

找不到nvm路径的朋友可以用这个命令来找到nvm的安装路径,默认的安装路径都是差不多的

2️⃣ 查看目前node版本

可以看到目前的版本是node V16.14.2

3️⃣ nvm安装目标node版本

nvm的主要作用就是用来切换node的版本,为什么要切换node的版本,就是因为你的当前node版本和你要启动的项目不兼容,有两种可能,要么是你的项目太旧,你的node版本相对来说比较高,需要用到向下兼容;另外一种可能就是你项目用到的node比较新,你需要进行升级

先安装需要安装的目标版本,用isntall来安装你需要的对应node版本

回到你的nvm安装路径,就可以看到你已经安装的各种版本的node文件夹

当然也可以用命令行

js 复制代码
nvm list

4️⃣ nvm切换到目标node版本

切换到目标node版本使用nvm use

js 复制代码
nvm use

查看目前nvm安装了哪些版本 然后use来进行切换

到切换的时候发现了问题,这里无论怎么切换,node的版本依然不会变

可以看到我用的use来切换到15的版本,但是再次查看nvm的node历史版本,可以看到还是位于16.14.2的node版本,明明就是这么顺利的问题,出了一个让人摸不到头脑的事情

5️⃣寻找问题

既然nvm切换版本已经成功,那么为什么node版本不会变,有没有可能根本改的不是同一个node,或者是存在两个node,直到我打开环境变量一看,为啥会存在两个node的路径,可能的原因就是之前的node版本没有删除,node -v一直输出的是安装前的node

原来已经安装了一个node的,全局的node指向的node路径和nvm切换node的路径是不一样的

nvm切换的node是基于他文件夹中的nodejs

点进去看你会发现他也是有一个node.exe的程序的,所以问题是已经找到的了,目前系统上出现了两个node,并且nvm切换的node版本并不是全局的node,因为环境变量已经指向了旧的node,他的版本不会改变,那么nvm去怎么切换都是没有用的

6️⃣解决方案

看了网上的一些解决方案都是要在nvm中新建两个文件夹的方式来解决,但是其实直接把nodejs删除也是一个很直接的办法,先通过where node找到当前的node的安装目录,直接进行删除

最后是通过把另外一个目录的node进行删除,重新看一下node的安装路径,也就是重新执行一下 where node

可以看到在nvm配置正确的情况下是能直接指向nvm下的node的

最后重新切换一下node的版本,也就是上文的操作

🙏 感谢您花时间阅读这篇文章!如果觉得有趣或有收获,请关注我的更新,给个喜欢和分享。您的支持是我写作的最大动力!

往期好文推荐

作者:一只大加号

链接:juejin.cn/post/729001...

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关推荐
爱喝白开水a37 分钟前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
董世昌4138 分钟前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
80530单词突击赢1 小时前
JavaWeb进阶:SpringBoot核心与Bean管理
java·spring boot·后端
爬山算法1 小时前
Hibernate(87)如何在安全测试中使用Hibernate?
java·后端·hibernate
WeiXiao_Hyy1 小时前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
苏渡苇1 小时前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
吃杠碰小鸡2 小时前
高中数学-数列-导数证明
前端·数学·算法
long3162 小时前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
kingwebo'sZone2 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
Serene_Dream2 小时前
JVM 并发 GC - 三色标记
jvm·面试