一、NVM介绍

在工作中,我们可能需要同时进行多个不同NodeJS版本的项目开发,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,NVM(node.js version management)就是为解决这个问题而产生的,顾名思义是一个nodejs的版本管理工具,他可以方便的在同一台设备上进行多个node版本之间切换。 下面列出下载、安装及使用方法。

二、NVM的下载安装

注意路径不要出现中文和空格

1. NVM下载

安装包地址:https://github.com/coreybutler/nvm-windows/releases windows系统下载nvm-setup.zip安装包 在这里插入图片描述

2. NVM安装

如果电脑上之前已经单独安装了node,先卸载删除(原先的环境变量也不需要了可以删除),然后解压nvm-setup.zip安装包,进入解压的文件夹,双击exe后缀文件进行安装: 在这里插入图片描述 选择nvm的安装路径: 在这里插入图片描述 选择nodejs的快捷方式路径(这里一定得是空文件夹或者不创建这个文件夹,因为nvm会自动创建这个文件夹为快捷方式): 在这里插入图片描述 下一步后确认安装即可 验证: 安装完成后查看环境变量会发现新增了NVM_HOME(nvm安装路径)和NVM_SYMLINK(nvm自动创建的nodejs文件夹的快捷方式路径),如下图: 在这里插入图片描述 在命令行窗口输入nvm后有如下图信息证明安装成功: 在这里插入图片描述

三、NVM使用

1. 设置nvm环境

nvm默认会从github下载npm,可能会有网络问题,所以最好设置为淘宝镜像。nvm的配置也很简单,可以采用命令方式,在shell中执行:

nvm node_mirror https://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/

或者 直接修改配置文件(在nvm安装路径下的settings.txt),如下图: 在这里插入图片描述

2.安装nodejs

直接命令行执行(v6.9.4可以替换为需要安装的版本,此处仅做示例):

nvm install v6.9.4

执行nvm list查看效果如下: 在这里插入图片描述

3.使用或切换nodejs版本

shell执行命令(6.9.4为nvm list列举出来的版本,可以使用自己需要的版本):

nvm use 6.9.4

效果如下: 在这里插入图片描述

这时你会发现原先指定的E:/dev/nodejs目录变成了快捷方式,并且指向了E:/dev/nvm下安装的nodejs目录,如下图: 在这里插入图片描述

4.建议

通过npm安装的全局node_modules应该统一放在一个文件夹 所以建议设置npm的全局参数:

npm config set prefix E:\dev\nvm\npm
npm config set cache E:\dev\nvm\npm\node_cache

Tips:记得把设置的prefix目录加到系统环境变量的PATH变量内

效果如下: 在这里插入图片描述

5.nvm命令总结

  1. nvm arch :显示node是运行在32位还是64位。
  2. nvm install <version> [arch] :安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过远程服务器的SSL。
  3. nvm list [available] :显示已安装的列表。可选参数available,显示可安装的所有版本。list可简化为ls。
  4. nvm on :开启node.js版本管理。
  5. nvm off :关闭node.js版本管理。
  6. nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。
  7. nvm node_mirror [url] :设置node镜像。默认是https://nodejs.org/dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  8. nvm npm_mirror [url] :设置npm镜像。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  9. nvm uninstall <version> :卸载指定版本node。
  10. nvm use [version] [arch] :使用制定版本node。可指定32/64位。
  11. nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。
  12. nvm version :显示nvm版本。version可简化为v。