使用nvm的时候,发现node可以用的,但是npm却显示没有命令

       因为之前安装nvm的时候,安装在C盘,发现每次使用命令nvm use xxx进行切换node版本的时候发现出现以下的错误,无法进行切换版本,上网搜索之后,我们可以右键命令提示符的窗口点击“以管理员运行”,这样子权限足够了就可以切换了;

后面去查找了一下,原因似乎是nvm安装在C盘上,所以会导致这个问题,于是乎就把nvm进行卸载,然后重新安装nvm,并且将其安装E盘上面。

由于之前卸载了旧的版本会导致所有下载的node都会被清空,所以我需要重新安装新的版本,安装完成之后使用nvm use xxx的命令继续切换版本,这个时候电脑回弹出“是否允许此设备对你的应用进行更改”,然后点击“是”就可以切换node了。似乎是因为,node是安装C盘上面,所以会弹出这个进行通知。

这里有人就会问了,

nvm安装在E盘底下,不是已经有存在很多版本的node吗,那为什么还需要一个C盘的node呢?

其实它的原理是这样的:

nvm底下存放的是你所下载的所有node版本,里面也包含npm,由于之前安装nvm的时候有弹出窗口,需要设置了一个路径在C盘下面,其实二者之间有着互相映射的关系;

如果刚刚安装完nvm,页没有下载和使用node,你会发现C盘底下的nodejs文件夹根本不存在,只有当你使用nvm use xxx进行切换node版本成功的时候,C盘底下才会生成nodejs文件夹,而这个文件夹就是你刚刚安装的那个node版本,如果你要切换一个14.21.3的node,那么C盘底下就会生成一个14.21.3的node版本,包含npm以及node_modules的所有东西。

简单来说就是我们使用nvm install xxx下载的node版本是存放在你nvm安装的目录底下,然后有一个映射目录在C盘,你需要哪一个版本的node,使用nvm use xxx之后,它就会去nvm那边复制过来到C盘底下,而这个C盘底下的node就是你当前使用的node

最后还有一个问题需要注意,有的时候你会发现,安转并使用node之后,C盘底下确实有node.exe,但是node_modules底下却没有npm,这个时候就会产生,你在命令提示符里面输入node -v的时候,会有node版本出来,当输入npm -v的时候,显示“npm不是内部或外部命令,也不是可运行的程序”,这个时候只需要重新卸载和安装node版本就会在C盘底下重新生成node的所有东西了。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值