背景
如果你有多个 Node.js 项目,可能会遇到这种情况。你已经安装了最新版本的 Node.js,但是另一个项目却依赖一个较旧的版本。在这种情况下, nvm 会帮你到,它允许安装多个版本的 Node.js(我们不需要再去nodejs官网下载安装了,直接通过nvm的命令即可安装nodejs),并且可以根据需要随时在它们之间切换。
目前项目主要使用到node v14.17.6和node v18.16.0两个版本。
本机现有的nodejs版本是node v14.17.6
所以我需要再安装一个node v18.16.0,同时可以在这两个版本之间进行切换
nvm下载及安装
先卸载node!!!先卸载node!!!先卸载node!!!(重要的事情说三遍)
安装nvm之前请先确保你电脑上的nodejs卸载干净(对于我来说,就需要先把v14.17.6版本的node卸载掉,等后面装好nvm后,再通过nvm的命令重新装回来即可),卸载nodejs教程看这篇文章:juejin.cn/post/724959…
注意:若没有把已有的node先卸载掉或者卸载不干净,后面nvm命令都会失效,如下图所见:
- 安装包下载地址:
- 进入nvm下载网页,选择nvm-setup.exe下载
- 双击nvm-setup.exe进行安装
nvm和node的安装目录建议都修改到D盘(注意路径千万不要有中文,否则后面会出错),注意nvm和node的路径都不需要手动创建
点击next,等待安装完成。
注意:安装完成之后,nvm会自动配置好环境变量,不需要由我们自己再去配置环境变量了。
安装完成之后,重新打开cmd,输入nvm或者nvm -v,如下图所示,说明nvm安装成功。
nvm配置淘宝镜像
之所以要配置淘宝镜像是因为nvm安装node和npm时会默认从nodejs.org/dist/和https…
方式1:进入nvm安装路径下,打开setting.txt文件,最后添加node和npm的镜像地址
root: D:\**\nvm
path: D:\**\nodeJs
arch: 64
proxy: none
originalpath: .
originalversion:
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
方式2:打开cmd窗口 (推荐)
输入以下命令:
nvm node_mirror https://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/
完成以上步骤后,nvm才算是全部安装完毕!
nvm常用命令
nvm list //展示本地安装的所有版本,*号表示当前正在用
nvm install [版本号] //安装指定版本node 例如: nvm install 12.18.0
nvm use 12.18.0 //使用特定版本
nvm uninstall 12.18.0 //卸载指定版本
node管理
1.nvm下载node
我这里基于项目需求,下载了node的v14.17.6和v18.16.0以及node的一个最新版本(这个其实不需要下载,因为项目中不会用最新的)。
打开cmd窗口输入:
nvm install latest
nvm install 14.17.6
nvm install 18.16.0
等待下载安装完成
下载完成后输入:
nvm use 18.16.0 //必须有输入这行命令后,node命令才会生效
/*检查node是否安装成功*/
node -v
npm -v
下载完成后,会发现nvm安装目录下多了三个以node版本号命名的文件夹
2.node环境配置
还记得安装nvm时设置的nodeJs目录嘛?此目录是作为软连接目录,存放nvm当前指向node版本的内容,下面我们设置node的相关变量时都会基于此目录,这样nvm切换node不同版本时不会影响node环境变量。
- 设置淘宝镜像
npm config set registry https://registry.npm.taobao.org
- 配置全局目录
在nodeJS目录下手动创建全局文件存放目录node_global和缓存目录node_cache
D:\**\nodeJs\node_global
D:\**\nodeJs\node_cache
cmd命令行窗口输入
npm config set prefix "D:\**\nodeJs\node_global"
npm config set cache "D:\**\nodeJs\node_cache"
- 全局安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
完结,撒花!