一、什么是nvm
nvm 是window下的 node 管理工具,可以在同一台电脑上安装多个Node.js版本灵活切换。
二、安装前的准备
删除电脑内部的nodejs与npm,不然会有冲突。
删除步骤:
打开控制面板 -> 打开程序和功能 -> 右上角搜索输入node -> 右键卸载
为了确保彻底删除node在看看你的node安装目录中还有没有node文件夹,有的话一起删除。再看看C:\Users\用户名
文件夹下有没有.npmrc
以及.yarnrc
等等统统删除。再去看看你的环境变量有没有node相关的,有的话也一起删除了。
三、安装nvm
nvm下载地址: https://github.com/coreybutler/nvm-windows/releases
选择一个版本,下载nvm-setup.exe活着nvm-setup.zip安装包,按照默认点击next继续安装
安装完成后打开cmd输入nvm看一下是否安装成功:
若安装后仍找不到该命令,请检查环境变量是否配置成功,创建NVM_HOME、NVM_SYMLINK,并在Path中引用:
四、配置路径和下载源
安装完nvm后先不要着急安装node。
找到nvm安装路径 -> 找到settings.txt
文件 -> 配置下载源
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
五、配置环境
nvm list available #查看网络可以安装的版本
nvm list #查看版本列表
nvm install 版本号(如14.17.3) #安装相应版本
nvm use 版本号(如14.17.3) #切换使用版本
输出如下:
问题: 当通过nvm切换版本时,切换的当前版本无法使用npm命令,这时就需要你在node官网上下载对应的压缩包,解压之后,复制到指定目录下,如图:
六、nvm常用命令
命令 | 说明 |
---|---|
nvm list | 查看已经安装的版本 |
nvm list installed | 查看已经安装的版本 |
nvm list available | 查看网络可以安装的版本 |
nvm arch | 查看当前系统的位数和当前nodejs的位数 |
nvm install [arch] | 安装制定版本的node 并且可以指定平台 version 版本号 arch 平台 |
nvm on | 打开nodejs版本控制 |
nvm off | 关闭nodejs版本控制 |
nvm proxy [url] | 查看和设置代理 |
nvm node_mirror [url] | 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/ |
nvm npm_mirror [url] | 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是:https://github.com/npm/npm/archive/. |
nvm uninstall | 卸载指定的版本 |
nvm use [version] [arch] | 切换指定的node版本和位数 |
nvm root [path] | 设置和查看root路径 |
nvm version | 查看当前的版本 |
七、卸载nvm
- 点击nvm安装目录下的卸载程序卸载
- 卸载完后记得删除nvm环境变量配置(环境变量是在安装时候自动生成的)。
此电脑 -> 右键属性 -> 高级系统设置 -> 环境变量 -> 找到nvm相关的 -> 删除
八、全局安装npm、cnpm
安装node的时候,npm其实也已经一起安装了。因为nvm可以管理多个版本的node,如果每次添加一个node版本都要安装一堆的包很麻烦,如果有一个npm可以让各个版本的node共用,就不会这么麻烦了。
配置一个全局的npm
npm config set prefix "D:\DevSoft\14 nvm\nvm\npm"
//配置用npm下载包时全局安装的包路径。npm install npm -g --registry=https://registry.npm.taobao.org
//安装全局npm,不同的node都使用这个npm。想更新全局的npm的话首先删除全局路径(就是上一行命令的地址,可以使用npm config ls
查看)下的npm,再执行一次这个命令即可。- 在用户变量中添加
NPM_HOME = D:\DevSoft\14 nvm\nvm\npm
,path中添加%NPM_HOME%
。这里需要注意的是,%NPM_HOME%
要添加在%NVM_SYMLINK%
之前,避免npm访问到的是nodejs中自带的npm包管理工具。
使用淘宝镜像cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
//使用淘宝镜像cnmp替代npmcnpm config get registry
//验证cnpm是否可用
九、遇到的问题
- 在安装nvm的时候没有卸载node,导致使用nvm安装完之后,node和npm都不可用。
- 在第一次使用nvm安装node后,要记得使用 nvm use 切换下node版本,以及用 nvm on 打开nodejs版本控制,不然这时候node和npm也都不可用。
- 全局安装完npm的时候,需要关掉终端窗口重新打开,才能装得上cnpm。