问题:
使用nvm安装nodeJS之后,node -v命令可以正常使用,但是使用有关npm的命令就会提示如图:
分析:
首先要确保你的nvm执行没有问题,比如,
查看nvm中你安装的node版本,命令:nvm list
使用node的版本,通过命令:nvm use 版本号,这里用10.20.1示范:
然后接着查看node的版本,通过命令:node -v
如果出现类似这样的提示:
node : 无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
。
所在位置 行:1 字符: 1
- node -v
-
+ CategoryInfo : ObjectNotFound: (npm:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
请看这位朋友的文章安装指示操作即可(本人踩过这个坑,我了个擦):
https://blog.csdn.net/taylorzun/article/details/105471841
这里要说下,在上面的链接中我并没有删除 C:\Program Files\nodejs文件,在我电脑下其实是有这个文件的。
**
解决:
**
上面说了一大堆废话,无非也就是避免有的人出现跟我一样上面的坑,好了,接下来正戏来了。
步骤:
nvm list available查看可以安装的版本:
然后我这里随便找一个版本来示范,我选10.20.0吧
执行:nvm install 10.20.0
我们可以看到这里是提示已经安装npm v6.14.4成功的,但是我们去目录(安装nvm的目录)查看一下:
并没有有关npm的文件,原因很简单,就跟你搜索了很多的博客里面写的那样,8.11以上版本的node版本对应的npm都没法自动安装,
注意看我们安装10.20.0的时候不是提示如下图么
然后去到这个链接:https://npm.taobao.org/mirrors/npm/
下载你安装那个node版本时提示的那个版本的npm即可(老实说看了那么多博客我还是很懵逼,问题就是出在这里,都写着去这个链接里下载对应的npm版本即可,但是对应的版本是哪个呢?)
那么npm v6.14.4是:
解压后将文件夹重命名为npm并复制到node_modules目录下
最后将npm中bin目录下的npm、npm.cmd、npx、npx.cmd复制到与node_modules目录同级目录下
使用nvm use 10.20.0使用node的10.20.0版本(使用后最好用node -v查看一下当前使用的node的版本):
最后一步,验证npm,用命令:npm -v
有版本了说明可以使用npm了,但是执行了一下命令:cnpm -v发现,
不要慌,只是我们没有安装淘宝镜像,所以此时,执行:
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装即可
好了,坑踩完了,大家早点休息,熬夜伤身、伤神、伤肾