nvm 是 “Node Version Manager” 的缩写,用于管理 Node.js 的版本。对于 Node.js 开发者来说,有时候在不同的项目中需要不同的 Node.js 版本,而手动切换和管理这些版本会比较麻烦。nvm 能帮助用户轻松地安装、管理和切换不同的 Node.js 版本。

1. 安装 nvm

macOS 和 Linux

在 macOS 和 Linux 系统上可以使用以下命令安装 nvm

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

安装完成后,重启终端或运行以下命令,让 nvm 生效:

1
source ~/.bashrc   # 或者 source ~/.zshrc,根据使用的终端而定

Windows

在 Windows 上可以使用 nvm-windows 版本,它是专门为 Windows 系统开发的 Node 版本管理器,与 Linux/macOS 的版本稍有不同,但功能类似。下载并按照安装向导进行安装。

2. 常用命令

  • 安装特定版本的 Node.js

    1
    nvm install <版本号>

    例如,安装 Node.js 14:

    1
    nvm install 14
  • 列出已安装的 Node.js 版本

    1
    nvm list

    或者可以用 nvm ls 查看本地已安装的版本列表。

  • 切换 Node.js 版本

    1
    nvm use <版本号>

    例如,切换到 Node.js 14:

    1
    nvm use 14
  • 查看可用的远程版本

    使用以下命令可以查看所有可安装的远程 Node.js 版本:

    1
    nvm ls-remote
  • 卸载某个版本的 Node.js

    1
    nvm uninstall <版本号>

    例如,卸载 Node.js 14:

    1
    nvm uninstall 14
  • 设置默认版本

    如果希望在每次新打开终端时使用某个默认版本,可以使用以下命令:

    1
    nvm alias default <版本号>

3. 使用场景

nvm 特别适用于以下场景:

  • 不同项目的依赖:如果某个项目使用 Node.js 14 而另一个项目依赖 Node.js 16,可以使用 nvm 快速切换版本。
  • 测试兼容性:需要测试代码在多个 Node.js 版本上的表现,可以通过 nvm 安装多个版本并来回切换。
  • 方便升级或降级nvm 让升级到最新版本、或临时降级到旧版本变得很容易。

注意事项

  • nvm 只在当前用户的 shell 环境中生效,不会修改系统级的 Node.js 版本。
  • 如果安装了 nvm,尽量不要再使用其他方式(如直接从官网安装)来安装 Node.js,以免发生冲突。