nvm的下载,安装与使用方法图文详解
作者:程序猿的散文诗
安装nodejs方式有很多种。
第一种:官网下载
通过nodejs官网下载安装 ,但有个缺陷,不同版本的nodejs无法顺利的切换。
第二种: NVM安装
NVM可以帮助我们快速切换 node版本。但是安装NVM过程中有很多坑,网上找了很多文档都没解决问题。这里自己总结下,帮助大家顺利安装软件。
一、 下载nvm安装包
官方下载地址:https://github.com/coreybutler/nvm-windows/releases
推荐下载nvm-setup.zip这一个,可能有的下载教程会推荐你下载nvm-noinstall.zip,这个我试过,noinstall确实下载之后不用安装,但是得自己配置setting.txt文件,以及环境变量,反而更麻烦。
而nvm-setup.zip安装,直接可以帮我们把环境变量,以及setting都配置好,我们只需要一路下一步安装即可。
二、 安装nvm
下载解压后直接是个exe:
选择nvm安装的路径。
这个是选择nodejs安装路径。对于这个路径刚开始安装的时候并不是很理解,后面进行讲解。
安装完之后,会发现环境变量自动就配置好了。这里简单提一嘴,为什么安装一些软件都要求配置环境变量git也是,环境变量起到的作用是可以在任意文件夹或者文件路径下,运行相关的命令。
例如nvm命令,假如不配置环境变量,可能我只能在nvm安装路径下使用命令。
查询版本号:
三、 使用nvm
刚安装好nvm发现node和npm是都不能用的,原因是我们只安装了nvm,nvm是帮我们管理node 的,他并不是可以替代node。下面我们进行安装node,安装node只需要输入命令即可安装。
常用命令:
nvm ls // 查看目前已经安装的版本 nvm install 10.5.0 // 安装指定的版本的nodejs nvm use 10.5.0 // 使用指定版本的nodejs nvm list available //显示可下载版本的部分列表 nvm uninstall 10.5.0 //删除已安装的指定版本,语法与install类似 nvm alias //给不同的版本号添加别名 nvm unalias //删除已定义的别名 `nvm reinstall-packages <version>` //在当前版本node环境下,重新全局安装指定版本号的npm包 nvm current //显示当前的版本
进行安装:
查看已经安装的版本。
虽然刚刚下载了,但是查看当前使用的,并没有使用,意味着他是需要自己进行输入使用命令的。
并且会发现刚刚我安装nvm的nodejs路径填写的默认路径,然后会发现C:\Program Files\nodejs这个路径下根本没有nodejs,那我们下载的node放哪里去了?其实在nvm安装路径下。
由此可以推测,我们要想使用node,就需要让node挪到环境变量当中配置的node路径下,但是不需要我们手动挪,我们使用nvm提供的use使用当前版本命令即可。
四、遇到问题
1、nvm use命令报错
输入使用命令:nvm use 12.16.3,直接报错了。
这里需要注意我们需要使用管理员开启的cmd黑框框
,才可以。我推测的是跟安装nodejs路径有关系,因为我是用的默认路径在C:\Program Files下,当我输入使用当前版本的node的时候,相当于nvm帮我们把下载好的node挪动到环境变量配置的node地址下。这样nvm就完成了node版本之间来回切换。
这时候再查看C:\Program Files,会发现node已经存在了,环境变量安装的时候配置的路径就是这个路径,那意味着node和npm命令都可以使用了。
然而并不是,node命令可以用了,npm还是不能用。
2、npm -v命令报错
这是因为node版本问题,有部分node版本是没有直接对应npm的,导致node里面根本没有包含npm。
于是我下载了10.22.1版本
发现这个版本是有npm的。
如果我就是想用12.16.3版本呢?
我们可以手动安装npm,然后给他放到nvm安装路径下的12.16.3文件夹下即可。
然后去到这个链接: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目录同级目录下
有版本了说明可以使用npm了,
补充:有时候nvm所能够安装的node.js版本也与本机环境相关。同时,npm安装的一些包也会受到来源的影响,此时可以使用nrm工具快速的进行镜像切换(注意:如果需要发布npm包的话,镜像地址只能是其官网!)。