nvm是node版本管理器,用于管理多个活动Node.js版本的简单bash脚本,让我们可以设置默认node版本,并在不同开发环境中切换不同版本。
安装nvm
打开下载地址,下载对应安装包。
![nvm-1.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ad6e6d7e25274b2c9993fd18cd4e4c92~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
双击安装文件 nvm-setup.exe,同意协议点击下一步
![nvm-2.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a3a8519fb19048229116922ba34e4e22~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
选择nvm安装路径
![nvm-3.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0abaa08a438e41ff93f4db2d21bd3d0c~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
选择nodejs路径
![nvm-4.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/53dac6249cf2468a8bc75df4fbd8128f~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
点击安装按钮进行安装
![nvm-5.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9fabbe3cf59b4b33a231edf6477bfbcc~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
安装完毕打开控制台,输入nvm,安装成功则如下显示。
![nvm-8.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4214fa2569b643d3a2d863a93e4a9ef2~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
解决nvm安装node和npm太慢
nvm默认node镜像源是https://nodejs.org/dist,从默认的镜像缘源下载会很慢,所以可以通过更换镜像源加快下载
找到之前安装nvm的文件夹目录,打开settings.txt文件
![nvm-6.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b39ca9dfdce24da4985fc1473d88905d~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
新增两行配置,更换node和npm的下载源为淘宝镜像源
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
![nvm-7.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/07320215fb8d4a489ddc91b7cd03ac97~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
使用nvm安装Node.js
终端输入nvm ls查看已安装的node.js版本。*选择的为当前使用的版本。
nvm ls
![nvm-9.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/703890f9115f42b1b875020233760369~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
使用nvm安装指定版本node.js
nvm install 14.17.6
如下图所示说明安装指定版本的node.js和npm成功
![nvm-10.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b9d1e3757ff0436d802e7801b80b8472~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
在nvm的文件夹目录新增了指定版本的文件夹
![nvm-11.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c1f7b247bb674fa99452a3aff40f1798~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
文件夹里有已经安装好的node、npm和npx的包
![nvm-12.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/972feb22a6d5436087ecb54e71ae08b2~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
使用指定版本node.js,查看node和npm版本。
nvm use 14.17.6
![nvm-13.png](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6a51e6d2193149b4b1770cf30743b025~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
卸载指定版本node.js
nvm uninstall 14.17.6
命令提示说明
nvm arch [32|64]:显示node是运行在32位还是64位。
nvm current: 显示活动版本。
nvm install [arch]:安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过- 远程服务器的SSL。
nvm list [available]:显示已安装的列表。可选参数available,显示可安装的所有版本。list可简化为ls。
nvm on:开启node.js版本管理。
nvm off:关闭node.js版本管理。
nvm proxy [url]:设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。
nvm uninstall :卸载指定版本node。
nvm use [version] [arch]:使用制定版本node。可指定32/64位。
nvm root [path]:设置存储不同版本node的目录。如果未设置,默认使用当前目录。
nvm version:显示nvm版本。version可简化为v。
nvm node_mirror [node_mirror_url]:设置node镜像。默认是https://nodejs.org/dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
nvm npm_mirror [npm_mirror_url]:设置npm镜像。默认是https://github.com/npm/cli/archive/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
安装yarn
使用已经安装好的npm来安装yarn
npm install yarn -g
查看yarn版本
yarn -v
![nvm-14.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9cb37ad19c81451b8de97bdd961f30e4~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
使用nvm进行node版本管理后,在每个node版本下都需要安装yarn,安装后指定版本文件夹会新增yarn文件
![nvm-15.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/37656e7512bb4656b40fb1e7ba948d98~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?)
设置npm和yarn的淘宝镜像
淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读)大幅提升包的下载速度,同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
设置npm淘宝镜像
npm config set registry http://registry.npm.taobao.org/
设置yarn淘宝镜像
yarn config set registry http://registry.npm.taobao.org/
查询当前配置的镜像
npm get registry
yarn config get registry
|