nvm-sh/nvm
Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
github.com · nvm-sh/nvm
nvm-sh/nvm
Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
nvm(Node Version Manager)是用 POSIX 兼容 Shell 脚本实现的 Node.js 版本管理器,按用户、按 Shell 会话安装与调用。它可在 Unix、macOS 以及 Windows WSL 上运行,通过 nvm install / nvm use 快速安装并切换不同 Node 版本,并支持 .nvmrc 文件与 LTS 别名,是 Node 生态中最广泛使用的版本管理方案之一。
nvm install、nvm use、nvm run、nvm exec 在同一机器上管理多个 Node 版本,无需全局覆盖nvm install --lts、nvm use lts/* 等命令对齐 Node 官方 LTS 发布节奏;可自定义版本别名.nvmrc 项目约定:在项目根目录放置 .nvmrc 声明目标版本,配合 Shell 集成可进入目录自动切换--reinstall-packages-from 在升级 Node 时迁移已安装的全局 npm 包NVM_NODEJS_ORG_MIRROR 等环境变量指向二进制镜像,适合内网或国内网络环境不同 Node 项目常锁定不同大版本(Legacy 维护、LTS 生产、Current 尝鲜),系统级单一安装难以兼顾。nvm 让每位开发者在同一台机器上并行维护多版本,并在切换目录或 Shell 时自动对齐项目要求,减少「版本不对导致构建失败」的摩擦。对团队而言,.nvmrc 可与 CI 脚本共用同一版本声明,降低本地与流水线环境漂移。
.nvmrc、LTS 别名、全局包迁移、Docker 集成文档);n 更轻量,适合只需简单切换、不介意功能面的个人用户。BASH_ENV 或 source nvm.sh,详见官方 README。.nvmrc 统一团队本地与 CI Node 版本的技术负责人。curl 或 wget,以及 git(用于 clone 仓库到 ~/.nvm)。一键安装(推荐):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash或使用 wget:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash安装完成后重新打开终端,或手动加载:
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"升级 nvm 本身:重新运行上述 install 脚本即可。
nvm install --ltsnvm use --ltsnode -vnpm -v安装指定版本并设为默认:
nvm install 22nvm alias default 22在项目根目录创建 .nvmrc(示例):
echo "22" > .nvmrcnvm usenvm --version 输出版本号(如 0.40.5)。nvm ls 列出已安装版本,当前激活项前有箭头标记。node -v 与 npm -v 输出与 nvm use 所选版本一致。nvm run node --version 可在不切换当前 Shell 默认版本的情况下验证指定版本。~/.bashrc、~/.zshrc 等;若 nvm: command not found,检查 profile 是否 source 了 nvm.sh,或设置 PROFILE 环境变量后重装。BASH_ENV 或在 ENTRYPOINT 中 source $NVM_DIR/nvm.sh;官方 README 提供 Dockerfile 示例。NVM_NODEJS_ORG_MIRROR 指向 Node 二进制镜像(如 npmmirror 等)加速 nvm install。nvm deactivate 可临时恢复 PATH 中的系统 Node;避免与 Homebrew 全局 node 混用时 PATH 优先级混乱。