使用nvm管理不同版本的Node.js

476 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第16天,点击查看活动详情

背景

有些项目是几年前写的,用的还是旧版的 Node.js ,现在的新项目需要版本较高的 Node.js 那么如何能同时让多个版本的Node共存呢?这时,Node Version Manager(nvm)可以派上用场,可管理多个不同版本的 Node.js

下载安装

  • 先卸载已有的Node.js

  • 下载安装nvm

下载:github.com/coreybutler…

解压安装:nvm-setup.zip

使用nvm

查看可下载的Node.js版本号 2021-05-11-NVM-ls-Avalable.png

# 列出当前已安装的Node.js,同 nvm ls
nvm list
# 列出可下载的Node.js版本号
nvm list available
# 下载安装指定版本的Node.js
nvm install 12.21.0
# 切换到指定版本的Node.js
nvm use 12.21.0
# 列出当前已安装的Node.js,同 nvm ls
nvm list
# 卸载指定版本的Node.js
nvm uninstall 12.21.0

切换成功:

2021-05-11-NVM-ls.png

可能遇到的问题

  • 问题:发现nvm use 12.21.0之后,对应版本前面没有*,并且选择的版本并没有生效

解决方法:删除以前的 nodejs 目录,重新创建,再次 nvm use 12.21.0 则发现 nodejs 目录变成了一个快捷方式,同时通过 nvm ls 可看到已选中的 Node.js 版本。

Note: 其实官方说明文档已经提示,在安装 nvm 前,应先卸载掉已有的 Node.js ,并删除 npm 包的全局安装目录。

Installation & Upgrades
PREREQUISITE: Uninstall existing node & npm
Uninstall any existing versions of Node.js before installing NVM for Windows (otherwise you'll have conflicting versions). Delete any existing Node.js installation directories (e.g., "C:\Program Files\nodejs") that might remain. NVM's generated symlink will not overwrite an existing (even empty) installation directory.

Delete the existing npm install location (e.g. "C:\Users\<user>\AppData\Roaming\npm") to prevent global module conflicts. Remember to backup any global npmrc config (e.g. C:\Users\&lt;user&gt;\AppData\Roaming\npm\etc\npmrc), or copy the settings to the user config C:\Users\&lt;user&gt;\.npmrc.
  • 当第一次切换到不同版本的Node.js时,需要单独安装全局的依赖

If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!