10分钟搞定node版本控制

9,236 阅读3分钟

一、为什么需要对node进行版本管理

  • 在日常开发中经常遇到更新版本后环境运行不起来报错需要回退版本
  • 参与不同项目时node的版本并不相同,所以在工作中需要能够方便快捷的切换node版本的管理工具

二、node的版本管理工具与方式

  1. 使用nvm进行管理(推荐)
  2. 下载不同node版本覆盖安装(不推荐)

三、nvm的安装与使用

1. 下载与安装

可在点此在**github**上下载最新版本,本次下载安装的是windows版本。一般有两个版本:

  • nvm-noinstall.zip:绿色免安装版,但使用时需进行配置。
  • nvm-setup.zip:安装版,推荐使用

下载后直接按步骤安装完成后在控制台输入 nvm 出现下面的内容就代表安装完成

2. 安装/管理nodejs

  1. 查看本地安装的所有版本;有可选参数available,显示所有可下载的版本。
nvm list [available]
  1. 安装,命令中的版本号可自定义,具体参考命令1查询出来的列表
nvm install 11.13.0
  1. 使用特定版本
nvm use 11.13.0
  1. 卸载
nvm uninstall 11.13.0

3. nvm常用命令

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

4. 注意事项以及可能踩到的坑

虽说简单,但常年写代码 哪有不踩坑 o(╥﹏╥)o

  1. nvm的安装及使用中需要注意的是安装路径最好不要出现中文和空格
    • [踩坑A]:很多人反馈只有在git cmd 或 git bash(或某指定的文件夹)可以使用,但在项目文件下使用NVM无法切换
    • [问题原因]:在安装nvm前安装了node版本或者安装了全局node
    • [解决方案]:卸载已安装的node版本后重新安装NVM (控制面板--> 卸载程序)
    • [踩坑B]:当执行nvw install xxx 安装完指定版本时,你满心欢喜的要使用时 nvm use ...报错了,提示信息: exit status 乱码...
    • [问题原因]:网上有些说安装要使用原默认目录c:盘符,也有些说要安装在根目录,其实是因为安装nvm时使用路径存在空格导致解析出错 (如:Program Files)
    • [解决方案]:重新安装nvm避免路径存在空格,安装完记得重启才会生效
    • [踩坑C]:执行install 时node安装成功,但npm没成功
    • [问题原因]:npm下载连接失败
    • [解决方案]:nvm uninstall vxxx 卸载对应版本后 打开nvm文件夹中下的settings.txt添加以下代码添加淘宝镜像下载:
root: D:\nvm
path: D:\nvm\nodejs
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/