← 返回工具库
nvm - Node.js 多版本管理利器
开源项目 版本控制

nvm - Node.js 多版本管理利器

★★★★★ 4.9 分 免费 · 开源免费

一款 POSIX 兼容的 Shell 脚本工具,让你在命令行一键安装、切换和并行管理多个 Node.js 版本。

立即前往 / 优惠购买

优缺点

✓ 优点

  • • 纯 Shell 实现,零额外依赖
  • • 切换 Node 版本极快且稳定
  • • star 近十万,社区验证充分
  • • .nvmrc 让团队版本统一

✗ 缺点

  • • 仅支持 POSIX shell 环境
  • • Windows 原生需借助 WSL
  • • 不管理 npm 之外的运行时

规格参数

项目语言 Shell
开源协议 MIT
GitHub Stars 96.0k
最新版本 v0.41.0
支持平台 Linux / macOS / WSL

它是什么

nvm(Node Version Manager)是一个用 Shell 编写的 Node.js 版本管理器,几乎可以在所有 POSIX 兼容的 shell 中运行,包括 bash、zsh、dash、ksh 等。它的作用很直接:让你在同一台机器上安装多个 Node.js 版本,并在需要时随手指令切换,而不必反复卸载重装或手动修改系统路径。

它不像 npx 那样依赖 npm 生态,也不像 Volta 那样使用独立二进制,而是一个纯脚本方案。安装时,它只往你的 shell 配置文件中写入一段 source 逻辑;之后所有操作都由 nvm 函数接管。正因为它轻量、无依赖,所以长期占据 GitHub 上最受欢迎的 Shell 项目之一,star 数已接近十万。

核心功能

  • 一键安装与切换版本:执行 nvm install 20 即可安装 Node 20,再执行 nvm use 18 就能立刻切回旧版本,整个过程不需要担心全局路径冲突。
  • LTS 与版本别名:支持 --lts、lts/*、node、iojs 等写法,方便锁定长期支持版本;也能自定义别名,把常用版本映射成短名称。
  • 全局包迁移:安装新版本时,可以把旧版本中的全局包一并迁移过来,避免重新手动安装 eslint、pnpm 等工具。
  • .nvmrc 项目级锁定:在仓库根目录放一个 .nvmrc,通过 shell 钩子进入目录时自动切换到项目所需版本,团队协作时版本更统一。
  • 镜像与离线支持:可配置 NVM_NODEJS_ORG_MIRROR 指向国内镜像加速下载,也支持从本地缓存离线安装。
  • Docker 与 CI 友好:提供在 Docker 镜像和 CI 流水线中安装使用的官方说明,方便构建环境固定 Node 版本。

适用场景

前端或全栈开发者经常同时维护多个项目,各项目的 Node 版本要求各不相同;nvm 让你在同一个终端里快速切换,不必为了旧项目降级整个系统环境。测试人员需要验证某个包在 Node 16、18、20 下的兼容性时,也可以用 nvm 逐版本跑测试。运维人员或 DevOps 场景下,它可以用于在 CI 容器内精确指定构建时所使用的 Node 版本。

上手建议

推荐使用官方安装脚本,安装完成后执行 command -v nvm 确认安装成功;如果输出为空,多半是因为配置文件还没重新加载。国内用户在安装 Node 之前,先设置好镜像环境变量,下载会顺畅很多。日常使用时,优先通过 nvm install --lts 安装长期支持版本。若使用 zsh 或 fish,可以按照 README 的 shell 集成段落配置自动执行 nvm use,减少手动切换。需要注意的是,nvm 只管理 Node 本身,npm 全局包仍需在各版本间单独处理(除了安装时可迁移的那部分)。另外,nvm 与系统包管理器安装的 Node 可能互相干扰,建议只保留一种管理方式。