如何使用 NVM 管理 Node.js 版本 – wiki词典


如何使用 NVM (Node Version Manager) 管理 Node.js 版本

在现代前端和后端开发中,Node.js 已经成为不可或缺的一部分。然而,不同的项目可能依赖于不同版本的 Node.js。手动切换和管理这些版本不仅效率低下,而且容易出错。这时,NVM (Node Version Manager) 就显得尤为重要。

NVM 是一个命令行工具,它允许你在同一台机器上轻松地安装、管理和切换多个 Node.js 版本。本文将详细介绍 NVM 的安装、基本用法以及一些高级功能,帮助你高效地管理 Node.js 环境。

1. 为什么需要 NVM?

  • 项目兼容性: 许多旧项目可能依赖于特定且不再是最新的 Node.js 版本,而新项目可能需要最新的功能。NVM 允许你为每个项目使用正确的版本。
  • 开发与测试: 你可以轻松地测试你的代码在不同 Node.js 版本下的行为,确保兼容性。
  • 避免冲突: 无需全局安装 Node.js,避免系统层面的冲突,并更好地隔离开发环境。
  • 易于升级: 升级或降级 Node.js 版本变得非常简单,只需几条命令。

2. NVM 的安装

NVM 主要为 Unix-like 系统(Linux, macOS, WSL)设计。对于 Windows 用户,有一个独立的版本叫做 nvm-windows

2.1. 在 Linux/macOS 上安装 NVM

  1. 打开终端。

  2. 使用 curlwget 下载并运行安装脚本:
    通常推荐使用 curl。你可以在 NVM 的 GitHub 仓库中找到最新的安装脚本链接:https://github.com/nvm-sh/nvm

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

    或者使用 wget

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

    ``
    请注意,
    v0.39.1` 应替换为 NVM 仓库中最新的稳定版本号。

  3. 配置 shell 环境:
    安装脚本会自动尝试修改你的 shell 配置文件(例如 ~/.bashrc, ~/.zshrc, ~/.profile 等),添加 NVM 的加载路径。
    安装完成后,你需要关闭并重新打开终端,或者运行以下命令使配置生效:

    bash
    source ~/.bashrc # 或 ~/.zshrc 或 ~/.profile

  4. 验证安装:
    运行以下命令检查 NVM 是否安装成功:

    bash
    nvm --version

    如果显示版本号,则表示安装成功。

2.2. 在 Windows 上安装 NVM (nvm-windows)

由于 NVM 的 Unix shell 脚本特性,它无法直接在 Windows 上运行。Windows 用户应使用 nvm-windows

  1. 卸载现有的 Node.js: 如果你已经全局安装了 Node.js,为了避免冲突,请先将其完全卸载。

  2. 下载 nvm-windows
    访问 nvm-windows 的 GitHub 发布页面:https://github.com/coreybutler/nvm-windows/releases
    下载最新版本的 nvm-setup.zip 文件,并解压。

  3. 运行安装程序:
    双击运行解压后的 nvm-setup.exe 文件,按照提示进行安装。安装程序会自动配置所需的环境变量。

  4. 验证安装:
    打开命令提示符 (CMD) 或 PowerShell,运行以下命令:

    cmd
    nvm --version

    如果显示版本号,则表示安装成功。

3. NVM 的基本用法

安装 NVM 后,你就可以开始管理 Node.js 版本了。

3.1. 安装 Node.js 版本

使用 nvm install 命令安装特定的 Node.js 版本。

  • 安装最新稳定版 (LTS):

    “`bash
    nvm install –lts

    或者

    nvm install lts/gallium # 例如,安装 Gallium (Node 16) 的 LTS 版本
    “`

  • 安装最新版本:

    bash
    nvm install node

  • 安装指定版本:
    你可以指定主版本号,NVM 会安装该主版本下的最新稳定版。

    bash
    nvm install 16
    nvm install 18.17.0 # 安装精确版本

    安装完成后,NVM 会自动切换到你刚刚安装的版本。

3.2. 切换 Node.js 版本

使用 nvm use 命令切换到已安装的 Node.js 版本。

  • 切换到指定版本:

    bash
    nvm use 16
    nvm use 18.17.0

  • 切换到最新稳定版 (LTS):

    bash
    nvm use --lts

  • 切换到系统默认 Node.js (如果已安装):

    bash
    nvm use system

3.3. 列出已安装的 Node.js 版本

使用 nvm lsnvm list 命令查看所有已安装的 Node.js 版本以及当前正在使用的版本。

bash
nvm ls

输出会列出所有版本,并用箭头 (->) 指示当前正在使用的版本,用 default 指示默认版本。

3.4. 设置默认 Node.js 版本

使用 nvm alias default 命令设置一个在每次打开新终端时自动使用的 Node.js 版本。

bash
nvm alias default 18.17.0
nvm alias default lts/hydrogen # 设置为 Hydrogen LTS 版本

现在,当你打开新终端时,node -v 将会显示你设置的默认版本。

3.5. 卸载 Node.js 版本

如果你不再需要某个 Node.js 版本,可以使用 nvm uninstall 命令将其删除。

bash
nvm uninstall 16.14.0

注意: 你不能卸载当前正在使用的 Node.js 版本。如果需要卸载当前版本,请先切换到另一个版本。

4. NVM 的高级用法

4.1. 使用 .nvmrc 文件实现项目特定版本

对于团队协作或多项目开发,为每个项目设置特定的 Node.js 版本非常有用。NVM 支持 .nvmrc 文件。

  1. 在项目根目录创建 .nvmrc 文件:
    在项目的根目录下创建一个名为 .nvmrc 的文件,并在其中写入你希望该项目使用的 Node.js 版本号。

    “`

    .nvmrc 文件内容

    16.14.0

    lts/gallium

    node
    “`

  2. 进入项目目录后运行 nvm use
    当你进入包含 .nvmrc 文件的项目目录后,只需运行 nvm use(不带任何参数)。NVM 会自动读取 .nvmrc 文件并切换到指定的 Node.js 版本。

    bash
    cd my-project/
    nvm use # NVM 会自动读取 .nvmrc 并切换版本

    你还可以配置 shell,使其在进入包含 .nvmrc 文件的目录时自动运行 nvm use。这通常通过在你的 shell 配置文件(例如 ~/.bashrc~/.zshrc)中添加一些逻辑来实现,具体方法可以参考 NVM 的官方文档或相关教程。

4.2. 管理全局 npm 包

当你安装一个 Node.js 版本时,它会带有一个对应的 npm 版本。使用 nvm use 切换 Node.js 版本时,全局安装的 npm 包也会随之切换到与当前 Node.js 版本关联的包。这意味着不同 Node.js 版本可以有自己独立的全局 npm 包集合。

  • 在当前 Node.js 版本下安装全局包:

    bash
    npm install -g yarn # Yarn 将只在此版本的 Node.js 下可用

4.3. 更新 NVM

NVM 本身也会发布新版本,你可以通过重新运行安装脚本来更新它。

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

请务必将 v0.39.1 替换为 NVM 仓库中最新的版本号。

5. 总结

NVM 是一个功能强大且易于使用的工具,对于任何从事 Node.js 开发的人来说都是必备的。通过它,你可以轻松应对不同项目对 Node.js 版本的兼容性需求,简化开发环境的设置和管理。无论你是新手还是经验丰富的开发者,掌握 NVM 都能显著提升你的开发效率和体验。

滚动至顶部