前言:
nvm 即 node 版本管理工具 (node version manager),好处是方便切换 node.js 版本。
通过将多个 node 版本安装在指定路径,然后通过 nvm 命令切换时,就会切换我们环境变量中 node 命令指定的实际执行的软件路径。
使用场景:若同时在做好几个项目,这些项目的需求都不太一样,导致了这些个项目需要依赖的 nodejs 版本也不同,这种情况下,我们就可以通过 nvm 来切换 nodejs 的版本,而不需要频繁地下载/卸载不同版本的 nodejs 来满足当前项目的要求。
一、安装 nvm
nvm 安装包官方下载地址:
https://github.com/coreybutler/nvm-windows/releases
点击 nvm-setup.exe 下载
安装注意事项
1、要卸载掉现有的 nodejs
2、提示选择 nvm 和 nodejs 目录时,一定要避免目录中出现空格
3、选用【以管理员身份运行】cmd 程序来执行 nvm 命令
4、首次运行前设置好国内镜像地址
设置node镜像、npm镜像
nvm node_mirror [url] :
设置node镜像。默认是 https://nodejs.org/dist/ 。如果不写url,则使用默认url。
设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
nvm npm_mirror [url] :
设置npm镜像。 https://github.com/npm/cli/archive/ 。如果不写url,则使用默认url。
设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
命令行中依次输入并执行
推荐使用 淘宝 NPM 镜像新域名
nvm node_mirror http://npmmirror.com/mirrors/node/
nvm npm_mirror https://npmmirror.com/mirrors/npm/
老域名
nvm node_mirror http://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/
查看有哪些可用版本
执行 nvm list 会列出已安装版本
nvm list available
安装 LTS(长期支持版)
nvm install 16.14.2
nvm install 14.17.5
切换版本
nvm use 16.14.2
或
nvm use 14.17.5
显示nvm版本
nvm version :显示nvm版本。version可简化为v。
二、检查 npm
npm 是 js 的包管理器,就类似于 java 界的 maven,要确保它使用的是国内镜像
检查镜像
npm get registry
推荐使用 淘宝 NPM 镜像新域名
如果返回的不是 https://registry.npmmirror.com/,需要做如下设置
npm config set registry https://registry.npmmirror.com/
老域名
如果返回的不是 https://registry.npm.taobao.org/,需要做如下设置
npm config set registry https://registry.npm.taobao.org/
或
npm config set registry https://repo.huaweicloud.com/repository/npm/
ps:
安装后 nvm 自己的环境变量会自动添加,如下图,但可能需要手工添加 nodejs 的 PATH 环境变量
npm install 报错处理:
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/xlsx/download/xlsx-0.15.6.tgz?cache=0&sync_timestamp=1605857043438&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxlsx%2Fdownload%2Fxlsx-0.15.6.tgz failed, reason: certificate has expired
解决方法:
在命令行修改环境变量进行解决
$env:NODE_OPTIONS="--openssl-legacy-provider"
或
命令行中依次输入并执行
npm cache clean --force
npm config set strict-ssl false
npm install
最终安装成功