Repolode
nvm-sh

nvm-sh/nvm

一个符合 POSIX 标准的 bash 脚本,用于在用户和 shell 级别安装并切换多个 Node.js 版本。

Star
95,597
Fork
10,577
未关闭 Issue
387
最近提交
11天前

这是什么?

nvm 是一个用于管理 Node.js 版本的命令行工具。它将多个 Node.js 版本安装到用户目录下,通过一条命令即可切换当前使用的版本,并且为每个版本分别保存全局安装的 npm 包。nvm 以 shell 函数的形式加载,支持 sh、bash、zsh、dash 和 ksh,而不是独立的可执行程序。

除了安装和切换,nvm 还支持 lts/* 这类 LTS 别名,可通过 .nvmrc 文件固定项目所用的 Node 版本,也可以在指定版本下执行单条命令而不改变当前版本。它还支持使用缓存离线安装、自定义二进制下载镜像,以及在安装新版本时迁移全局包。

该项目适用于 Linux、macOS,以及通过 WSL、Git Bash 或 Cygwin 使用的 Windows。不支持 Fish shell,README 中列出了该 shell 的第三方替代方案。

核心功能

  • 01按用户安装、切换和卸载多个 Node.js 版本
  • 02在命令和 .nvmrc 中通过 lts/* 等别名引用 LTS 版本
  • 03通过 .nvmrc 文件固定项目使用的 Node 版本
  • 04在指定版本下运行命令,不改变当前激活的版本
  • 05安装新版本时或在已安装版本之间迁移全局 npm 包
  • 06使用自定义镜像下载 Node 二进制文件

适用场景

  • 同时维护多个需要不同 Node.js 版本的项目
  • 通过仓库中的 .nvmrc 文件统一团队使用的 Node 版本
  • 在 Docker 或 CI 任务中安装 Node.js,无需全局安装
  • 在无网络环境下利用缓存的下载文件安装 Node.js

快速上手

  1. 1

    使用 curl 运行安装脚本(或先检查脚本再运行)

  2. 2

    在 shell 配置文件中加载 nvm,然后安装 Node.js 版本

    nvm install 24
  3. 3

    切换到已安装的 Node.js 版本

    nvm use 22

使用前须知

  • 不支持原生 Windows,需使用 WSL、Git Bash 或 Cygwin。
  • 不支持 Fish shell。

标签

常见问题

nvm 是什么?
一个符合 POSIX 标准的 bash 脚本,用于在用户和 shell 级别安装并切换多个 Node.js 版本。 nvm 是一个用于管理 Node.js 版本的命令行工具。它将多个 Node.js 版本安装到用户目录下,通过一条命令即可切换当前使用的版本,并且为每个版本分别保存全局安装的 npm 包。nvm 以 shell 函数的形式加载,支持 sh、bash、zsh、dash 和 ksh,而不是独立的可执行程序。
nvm 可以免费使用吗?用的什么许可证?
nvm 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
nvm 还在维护吗?
活跃维护中。nvm 最近一次提交是在 2026年10月10日。
nvm 适合用来做什么?
同时维护多个需要不同 Node.js 版本的项目 通过仓库中的 .nvmrc 文件统一团队使用的 Node 版本 在 Docker 或 CI 任务中安装 Node.js,无需全局安装 在无网络环境下利用缓存的下载文件安装 Node.js
nvm 怎么安装和运行?
使用 curl 运行安装脚本(或先检查脚本再运行) 在 shell 配置文件中加载 nvm,然后安装 Node.js 版本: nvm install 24 切换到已安装的 Node.js 版本: nvm use 22
在哪里获取 nvm?
源代码和安装说明在 GitHub 上:https://github.com/nvm-sh/nvm

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目