简介
nvm可以让你在一套环境中切换不同的nodejs版本,在不同的项目中使用不同的版本,有些npm包对nodejs版本有要求,也需要切换nodejs版本使用,建议通过nvm去安装使用nodejs,除非你100%确定接触到的项目都使用一个版本,并且你永远不会学习nodejs,只是通过它跑前端项目。
不然你会发现一些头痛的问题:
当你安装一些依赖不支持当前版本时,需要降级或者升级,因设备只能安装一个版本,卸载安装会导致你失去全局npm包。
当你安装了一个版本后,其他项目又要求其他版本,你只会在这些版本中安装卸载,非常费时费力。
下载
到github上下载最新版本 https://github.com/coreybutler/nvm-windows/releases
nvm-noinstall.zip: 这个是绿色免安装版本,但是使用之前需要配置
nvm-setup.zip:这是一个安装包,下载之后点击安装,无需配置就可以使用,方便。
Source code(zip):zip压缩的源码
Sourc code(tar.gz):tar.gz的源码,一般用于*nix系统
安装
注意:windows安装前需要卸载nodejs,并删除nodejs安装目录,不然会版本冲突。
按照提示完成安装即可,安装完成后可以检测一下是否安装成功
在命令行输入nvm,如果出现nvm版本号和一系列帮助指令,则说明nvm安装成功;否则,可能会提示nvm: command not found
切换镜像
方式1
修改settings.txt,在你安装的目录下找到settings.txt文件,打开后加上
node_mirror https://npmmirror.com/mirrors/node/
npm_mirror https://npmmirror.com/mirrors/npm/
这一步主要是将npm镜像改为淘宝的镜像,可以提高下载速度。
方式2
通过命令行修改,阿里腾讯二选一
阿里
nvm npm_mirror https://npmmirror.com/mirrors/npm/
nvm node_mirror https://npmmirror.com/mirrors/node/
腾讯
nvm npm_mirror http://mirrors.cloud.tencent.com/npm/
nvm node_mirror http://mirrors.cloud.tencent.com/nodejs-release/
常用命令
nvm list 查看目前已经安装的版本
nvm list available 显示可下载版本的部分列表
nvm install 版本号 安装指定的版本的nodejs,可以直接输入nvm install 14,即安装14最新版
nvm use 版本号 使用指定版本的nodejs
nvm arch [32|64] 显示node是运行在32位还是64位模式。指定32或64来覆盖默认体系结构。
nvm install [arch] 该可以是node.js版本或最新稳定版本latest。(可选[arch])指定安装32位或64位版本(默认为系统arch)。设置[arch]为all以安装32和64位版本。在命令后面添加–insecure,可以绕过远端下载服务器的SSL验证。
nvm list [available] 列出已经安装的node.js版本。可选的available,显示可下载版本的部分列表。这个命令可以简写为nvm ls [available]。
nvm on 启用node.js版本管理。
nvm off 禁用node.js版本管理(不卸载任何东西)
nvm proxy [url] 设置用于下载的代理。留[url]空白,以查看当前的代理。设置[url]为none删除代理。
nvm node_mirror [url] 设置node镜像,默认为https://nodejs.org/dist/.。可以设置为淘宝的镜像https://npm.taobao.org/mirrors/node/
nvm npm_mirror [url] 设置npm镜像,默认为https://github.com/npm/npm/archive/。可以设置为淘宝的镜像https://npm.taobao.org/mirrors/npm/
nvm uninstall 卸载指定版本的nodejs。
nvm use [version] [arch] 切换到使用指定的nodejs版本。可以指定32/64位[arch]。
nvm use 将继续使用所选版本,但根据提供的值切换到32/64位模式
nvm root [path]: 设置 nvm 存储node.js不同版本的目录 ,如果未设置,将使用当前目录。
nvm version 显示当前运行的nvm版本,可以简写为nvm v
注意:
- nvm安装目录,最好不要存在空格。否则,nvm可以安装成功,但使用nvm use x.y.z(nodejs的切换)会有问题。
- 有些全局的npm模块,在各版本的node.js之间不共享。
- 你正在使用的node.js版本中可能不支持某些npm模块。因此在工作的时候请注意工作环境。