使用 nvm 管理 node 版本

nvm(Node Version Manager) 是一个为 node.js 设计的版本管理器,设计用于按用户安装,并按 shell 调用。nvm可在任何符合 POSIX 的 shell (sh, dash, ksh, zsh, bash) 上运行,尤其是在这些平台上:unix、macOS 和 windows WSL。

nvm 使您可以通过命令行快速安装和使用不同版本的 Node。

安装nvm

通过安装脚本安装

适用于 macOS/Linux 平台

使用curl

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

或使用wget

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

运行以上任一命令都会下载一个脚本并运行它。该脚本默认会将 nvm 仓库克隆到 ~/.nvm,并尝试将下面代码片段中的源代码行添加到正确的配置文件(~/.bash_profile~/.zshrc~/.profile~/.bashrc)中。

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

通过Homebrew安装

适用于 macOS 平台

  1. 执行安装命令
brew install nvm
  1. 创建 ~/.nvm 目录
mkdir ~/.nvm
  1. 修改配置

将以下代码添加到对应的配置文件中(~/.bash_profile~/.zshrc~/.profile~/.bashrc

export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh"
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm"
  1. 使配置文件生效
source ~/<your_profile_file>

Windows

Windows平台可以直接下载 nvm.exe 进行安装即可。

注意:在运行 nvm installnvm use 时,Windows 通常需要管理员权限(以创建符号链接)。

安装 Node

在安装之前,可以通过 nvm ls-remote 命令来查看可以安装的 node 版本,然后再通过 nvm install 命令来安装指定版本:

  • 安装最新的长期支持(LTS)版本
nvm install --lts
  • 安装最新版本
nvm install latest / nvm install node
  • 安装 16.20.0 版本
nvm install 16.20.0

首次安装的 node 版本将成为默认版本,新的 shell 将使用默认版本的 node 启动。如需修改默认版本,请使用 nvm alias default 命令。

切换 Node 版本

如果安装了多个 Node 版本,可以通过 nvm use 命令来进行切换到指定版本。

  • 切换到最新的长期支持版本
nvm use --lts
  • 切换到最新版本
nvm use node
  • 切换到 16.20.0 版本
nvm use 16.20.0

设置默认 Node 版本

在 macOS 中切换到指定版本后,仅在当前 shell 窗口生效(临时切换),新开 shell 窗口将会继续使用默认的 node 版本。如果需要永久切换到某个版本,可以使用 nvm alias default 设置默认版本。

nvm alias default 16.20.0

切换 Node.js 源

Node.js 官方源 网络不稳定,所以需要切换到国内源。

  • 查看当前使用的源
npm get registry
  • 使用淘宝源
npm set registry https://registry.npmmirror.com

nvm 常用命令

  • 安装指定版本 Node.js
nvm install <version>
  • 卸载指定版本 Node.js
nvm uninstall <version>
  • 切换到指定版本
nvm use <version>
  • 显示当前版本
nvm current
  • 查看已安装的版本
nvm list
  • 查看可以安装的版本
nvm list-remote
  • 给指定版本设置别名
nvm alias <name> <version>
  • 删除别名
nvm unalias <name>
  • 设置默认版本
nvm alias default <version>