首页 前端知识 使用nvm的时候,发现node可以用的,但是npm却显示没有命令

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

2024-06-17 09:06:15 前端知识 前端哥 182 922 我要收藏

       因为之前安装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的所有东西了。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/12517.html
标签
评论
发布的文章

HTML5 新增元素

2024-06-22 10:06:20

【前端】HTML5基础

2024-06-22 10:06:36

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!