强力解决使用node版本管理工具 NVM 出现的问题(找不到 node,或者找不到 npm)

强力解决使用node版本管理工具 NVM 出现的问题(找不到 node,或者找不到 npm)

node与npm版本对应关系

nvm是好用的Nodejs版本管理工具,

通过它可以方便地在本地调换Node版本。

2020-05-28 Node当前长期稳定版12.17.0 ,  

很久没有nvm了,于是打开 cmd,

nvm install 12.17.0

然后 C:/nvm/v12.17.0 就安装好了,

通过 nvm use 12.17.0 切换到该最新版本。

通过node -v 可确认当前node版。

问题出现

npm -v却报错找不到npm-cli。

显然,安装是不成功的。

这是因为npm没有安装成功,

查看C:/nvm/v12.17.0/node_modules下可发现,

是空的,没有npm。

而没有安装npm的原因,很有可能就是网络的原因,访问不了。

尝试解决

bd找到的解决办法是:

复制代码
给nvm的配置里指定下载地址,即taobao镜像地址

编辑C:/nvm/setting.txt文件如下:

root: C:\nvm

path: C:\Program Files\nodejs

arch: 64

node_mirror: https://npm.taobao.org/mirrors/node/

npm_mirror: https://npm.taobao.org/mirrors/npm/

清除旧版本:

nvm uninstall 12.17.0

然后手动删除C:/nvm/v12.17.0/文件夹。

不然再次nvm install 12.17.0会提示已经安装。

充满信心地重新开始

nvm isntall 12.17.0

查看:

node -v

"病情"加重

MD,连node也不认了(环境变量一切都在)---_---

这时,内心不要慌,看下C:\Program Files\nodejs还在不在,

结果是,它不在了。。。诡异吧

铁腕镇压

不信邪的我,决定手动解决这个问题。

这个nodejs文件夹,是一个link,win10下使用命令行:

mklink /D nodejs "c:\nvm\v12.17.0"

这样就生成了nodejs的链接,把它放到C:\Program Files\下。

然后,node -v还是不认,原因是安装的这版node文件名是node64.exe,

这个好说,直接重命名,把 64 去掉,就正常了。

胜利在望

这时,npm的问题仍在。下一步就是解决 npm 的问题。

在执行nvm install 12.17.0的时候,会在nvm文件夹下创建一个temp文件夹,

npm的安装包就会下载在这里,但是注意:

复制代码
下载的安装包为C:\nvm\temp\npm-v6.14.4.zip
安装完后会被删除,文件夹会清空
卡好时间,在下载完,安装中的时点,把安装包copy出来
提示安装完成后,会发现C:\nvm\v12.17.0\node_modules下空空如也
将npm-v6.14.4.zip下的cli-6.14.4解压到C:\nvm\v12.17.0\node_modules下,重命名为npm

至此,npm -v已经OK了。

或许,碰到这样的问题,通过重新安装nvm可以解决,但当你装过多个node版本,并且里面分别安装了很多package的时候,代价有点大或者说还是太麻烦

相关推荐
掘金者阿豪37 分钟前
把业务数据变成共享仪表盘:Metabase可视化与远程访问实践
前端·后端
kyriewen1 小时前
折腾了半年 AI 编程工作流,最后发现效率瓶颈是桌上那块屏幕
前端·javascript·ai编程
蜗牛前端1 小时前
codex 全流程开发上线的高颜值礼簿小程序
前端·微信小程序
大龄秃头程序员2 小时前
我在图文流 App 里落地双层缓存、弱网降级与 OOM 治理
前端
老王以为2 小时前
React Renderer 分离的多平台架构
前端·react native·react.js
hunterandroid2 小时前
Kotlin Coroutines 与 Flow:让异步任务更清晰
前端
Bigger3 小时前
从零搭建 AI 代码审查服务:一份前端也能看懂的 Python 学习笔记
前端·ci/cd·ai编程
lichenyang4533 小时前
JSAPI、NAPI、Biz、Imp:ASCF Demo 如何真正调用系统能力和 C++ 能力
前端
lichenyang4533 小时前
IPC、JSVM、UIThread、libuv:ASCF 架构图里最容易混的几个词
前端
用户059540174463 小时前
Redis记忆存储故障恢复测试踩坑实录:手动测试让我漏掉了2个一致性Bug
前端·css