nvm是用来管理多个node和npm版本的工具。不同项目,所依赖的node版本也不尽相同。安装nvm管理node版本,方便切换。
注意:之前安装过node的要删除干净。
Nvm安装
1、下载nvm安装包。
安装包有两种,一种是 non-setup,就是不需要安装的,直接下载解压就好。一种是我们常见的setup版本(里边有 exe安装文件)。安装完成后,安装目录是这样的:
2、进入安装文件目录,找到setting.txt。
这里重点说一下:
root 这个是安装后自动填充的。代表nvm安装路径。
path 这个也是安装后自动填充的。代表node快捷方式。
node_mirror, npm_mirror 要设置为淘宝镜像,否则下载nodejs很很慢。
还有一个proxy(代理),如果你的公司的网络设置了代理,要把代理地址填写进去,否则下载不了。
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
3、安装制定版本的node
安装的命令很简单:
nvm install <node版本号>
// 比如安装 10.16.0 这个版本 --> nvm install 10.16.0
具体要安装哪个版本,根据自己项目的需要,还可以去 nodejs官网 查找:Previous Releases | Node.js
可以看到所有的node版本。
项目需要,我这里指定安装 10.16.0 这个版本。
nvm install 10.16.0
4、安装成功之后 可以文件夹中看到
运行命令 同样可以查看到。
Nvm环境变量配置
在Windows的系统变量
和用户变量
中,均添加NVM_HOME
和NVM_SYMLINK
这两个名称的变量,前一个变量的值为nvm的安装路径,如C:\Dev\nvm
,后一个变量的值为node.js的安装路径,如C:\Dev\nodejs
。除此之外,还要确保系统变量PATH
中,有%NVM_HOME%
和%NVM_SYMLINK%
这两个值,每个值的后面要加上英文的分号;
。(注意不要有空格)。
设置环境变量:
NVM_HOME: nvm所在的地址 也就是 上边 setting.txt 中的 root
NVM_SYMLINK: node快捷方式所在目录 也就是 上边 setting.txt 中的 path
PATH:%NVM_HOME%;%NVM_SYMLINK%; path添加在最后边就好,不要覆盖了原来的path。
注意: 添加的时候不要有空格。
Nodejs的Npm安装
安装完成之后,在cmd中验证一下突然发现,node可以,npm却不行。很显然,npm没有安装上,并没有npm.cmd这个命令。
原因: 这是因为 nvm 安装的时候 先下载node,node下载完毕之后 开始下载 npm,这时候你会在安装目中看到一个 temp 的文件夹,点进去发现里边有个文件和压缩包。而这个压缩包就是我们需要对应node版本的npm。但是nvm并没有自动将这个注入到对应node版本中的node_moudles里边去 而是将它删除了(也不知道为什么)。所以我们在查看npm -v时候出现了上边这一幕。
解决办法: 手动安装。
当你在安装node版本的时候,注意看 temp 文件夹,及时的将 压缩包复制出来 进行解压。解压到对应node版本的 node_moudles中,并将文件夹名称改为 npm ,如图所示
如果你手慢,复制不了也没关系,直接去 node_mirror 官网下载对应版本的npm就可以。地址为:CNPM Binaries Mirror (注意对应版本).
然后将文件中 bin 下边的 npm npm.cmd 拷贝出来放到node.exe统计目录下:
然后再试一试npm安装好了没有:
坑
有个坑得说一下。
现在安装一个命令,试一试
npm i -g nrm
安装了一个node镜像管理,运行一下,发现报错了:nrm 不是内部或者外部命令...
看一下nodejs文件夹
文件夹下并没有 nrm.cmd。
这时候要看看npm全局配置了,看看prefix是不是指向nodejs安装目录以及cache是不是指向的是node_cache,如果不是要进行如下配置:
npm config set prefix "D:\node\nodejs"
npm config set cache "D:\node\nodejs\node_cache"
### 再系统环境变量上增加
NODE_PATH E:\node\nodejs\node_modules
再次安装 npm i -g nrm
好了,这下大功告成了。