nvm 管理多项目 node 版本的核心是通过项目根目录的 .nvmrc 文件声明版本,并配合 shell hook 实现 cd 自动切换;安装后需 source 配置、设置默认版、隔离管理各版本及 npm 包。
用 nvm 管理不同项目的 node 版本,核心是让每个项目“自带版本声明”,而不是靠人记、手动切。它不是装完就完事的工具,而是一套可自动响应的环境约定。
安装 NVM 并确认基础可用
终端执行官方脚本安装(适配 Intel 和 Apple Silicon):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
接着加载环境:
source ~/.zshrc(macOS 默认 shell 是 zsh)
验证是否生效:
nvm --version → 输出类似 0.40.4 即成功
为项目指定 Node 版本(.nvmrc 文件)
在每个项目的根目录下新建一个 .nvmrc 文件,内容只写一行版本号:
- echo "18.19.0" > .nvmrc(老项目用 LTS)
- echo "20.12.0" > .nvmrc(新项目用稳定版)
- echo "24.16.0" > .nvmrc(尝鲜最新特性)
这个文件不依赖任何插件,NVM 原生支持读取。进入该目录后,运行 nvm use 就会自动匹配并切换。
实现“进目录自动切换”(推荐启用)
避免每次 cd 都手动敲 nvm use,可在 ~/.zshrc 底部追加一段 shell hook:
cd() { builtin cd "$@"; nvm use 2>/dev/null || nvm use default 2>/dev/null; }
保存后执行 source ~/.zshrc 生效。之后只要 cd 进入含 .nvmrc 的项目,Node 版本就自动对齐。
日常维护与常见操作
- 查看所有已装版本:nvm ls(带箭头
->的是当前生效版) - 安装新版本:nvm install 22.14.0(支持
--lts快速装长期支持版) - 设默认启动版:nvm alias default 20.12.0(新开终端自动用此版)
- 卸载不用版本:nvm uninstall 16.20.2(彻底清理,不残留)
- 检查当前状态:nvm current 和 node -v 应输出一致
所有版本和全局 npm 包都隔离在 ~/.nvm/versions/node/ 下,不碰系统路径,也不需要 sudo。











