nvm安装node后,报错Cannot find module ‘C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js‘

问题描述
nvm安装node后,也会自动安装npm工具,但是在提示安装完成之后,使用npm相关命令时,会报如下错误

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'

原因:

可以查看当前node版本  node -v,如v14.18.1,然后去nvm安装地址中找C:\Users\10153615\AppData\Roaming\nvm,会有对应版本的文件夹v14.18.1,会发现里面没有npm相关安装程序,或者没有node_modules或者node_modules没有内容,而且nvm uninstall也卸载不了。这时候可以手动删除文件夹,下载其他的版本,或者重新下载该版本

分析
1.使用nvm安装node之后,会在nvm的目录下(默认是:C:\Users\$username(你自己的用户名)\AppData\Roaming\nvm),
生成对应版本的文件夹

2.node安装完成之后,会自动下载npm进行安装,下载npm过程中,nvm的目录下会出现temp文件夹,
此时文件夹中含有下载好的npm压缩包,我的版本是npm-....zip 

3.下载npm之后会自动进行解压安装,问题就出现在这里,temp文件夹中虽然成功解压了npm-.......zip,
但是并未成功将文件放入到对应的v......这个文件夹的node_modules目录下,虽然提示了npm安装成功,但node_modules目录却是空的

4.我猜测nvm应该是将各个版本目录下的node_modules映射到C:\Program Files\nodejs\node_modules文件夹中,所以安装好的版本文件夹中node_modules为空,会导致在使用npm时会提示在node_modules中找不到npm-cli.js从而报错

解决方案(以版本12.18.3为例)
1.执行命令nvm install 12.18.3, 此时开始下载安装node,出现图片中的红色框部分提示,此时nvm文件夹下会出现对应版本的文件夹v12.18.3

2.node安装完成后,会开始下载npm,出现图片中的蓝色框部分提示,此时nvm文件夹下就会出现temp文件夹,这时将里面下载好的压缩包npm-v6.14.6.zip复制出来

3.将npm-v6.14.6.zip解压后会生成cli-v6.14.6文件夹,里面就是npm的所有文件

4.将cli-v6.14.6重命名为npm,并复制到v12.18.3文件夹下的node_modules文件夹中

解决方案2

直接node官网下载某个版本的zip,然后复制到C:\Users\$username(你自己的用户名)\AppData\Roaming\nvm,改为名字v版本号,再运行nvm list,就可以看到版本了

某项目运行报错

有时候可能是node版本过低,不支持最新的语法,需要下载新的node版本


 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值