问题描述
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版本文章来源:https://www.toymoban.com/news/detail-850329.html
文章来源地址https://www.toymoban.com/news/detail-850329.html
到了这里,关于nvm安装node后,报错Cannot find module ‘C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!