Mac + nvm:程序员必须掌握的 Node 版本管理神技
2026/2/23
从 Windows 平滑过渡到 Mac,第一件事就是配置开发环境。
在 Windows 时我就习惯了用 nvm 管理 Node.js 版本,来到 Mac 后发现很多人还在用 brew install node 装一个版本硬扛,或者手动卸载重装。其实 Mac 上 nvm 更丝滑。今天把这套 Mac M4(Apple Silicon)标准 Node 多版本管理方案 分享给你,让 Windows 用户无缝切换,一步到位告别版本混乱。
一、为什么需要 nvm?
想象这几个常见场景:
- 老项目用 Node 14,新项目要求 Node 20,如何同时开发?
- 全局安装一个版本后遇到依赖不兼容,降级和回滚一团乱?
- 团队成员、CI、线上环境版本不一致,偶现 bug 难复现?
nvm 的价值就是:
- 多版本共存,互不干扰
- 秒级切换,一条命令完成
- 项目隔离,不同项目使用不同版本
- 零侵入,不污染系统环境
二、安装前准备
先确认 Homebrew 已安装:
brew --version
如果未安装,先执行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
三、通过 Homebrew 安装 nvm
1)安装 nvm
brew install nvm
2)创建 nvm 目录(重要)
mkdir -p ~/.nvm
3)配置 Shell(zsh)
编辑 ~/.zshrc,追加:
# NVM 配置
export NVM_DIR="$HOME/.nvm"
[ -s "$(brew --prefix nvm)/nvm.sh" ] && \. "$(brew --prefix nvm)/nvm.sh"
[ -s "$(brew --prefix nvm)/etc/bash_completion.d/nvm" ] && \. "$(brew --prefix nvm)/etc/bash_completion.d/nvm"
加载配置:
source ~/.zshrc
4)验证安装
nvm -v
四、安装 Node 版本
查看可安装版本:
nvm ls-remote
只看 LTS(推荐):
nvm ls-remote --lts
安装最新 LTS:
nvm install --lts
安装常用主版本:
nvm install 18
nvm install 20
nvm install 22
安装精确版本:
nvm install 20.11.1
推荐策略:
- Node 18:维护老项目
- Node 20:主力开发
- Node 22:新项目尝鲜
五、查看和切换版本
查看已安装版本:
nvm ls
临时切换(当前终端):
nvm use 18
切换到最新 LTS:
nvm use --lts
设置默认版本:
nvm alias default 20
查看当前版本:
node -v
nvm current
六、项目级自动切换(高级技巧)
在项目根目录创建 .nvmrc:
echo "24.13.1" > .nvmrc
进入项目后执行:
nvm use
即可自动切到 .nvmrc 指定版本(示例中是 24.13.1)。
团队协作建议:将 .nvmrc 提交到 Git,所有成员统一 Node 版本。
七、卸载 Node 版本
卸载主版本:
nvm uninstall 18
卸载精确版本:
nvm uninstall 18.19.0
八、Apple Silicon(M4)说明
M4 是 ARM 架构,nvm 会自动安装 darwin-arm64 二进制。
可验证:
node -p process.arch
应输出:
arm64
九、避坑指南
不要混用包管理器
如果你使用 nvm,请不要再 brew install node。混用会带来路径冲突。
检查 Node 来源:
which node
正确输出应类似:
~/.nvm/versions/node/v20.11.1/bin/node
如果是:
/opt/homebrew/bin/node
说明混用了,可执行:
brew uninstall node
十、常用命令速查表
| 功能 | 命令 |
|---|---|
| 查看所有可安装版本 | nvm ls-remote |
| 只看 LTS 版本 | nvm ls-remote --lts |
| 安装最新 LTS | nvm install --lts |
| 安装指定版本 | nvm install 20 |
| 查看已安装版本 | nvm ls |
| 切换版本 | nvm use 20 |
| 设置默认版本 | nvm alias default 20 |
| 卸载版本 | nvm uninstall 18 |
| 查看当前版本 | node -v / nvm current |
十一、完整配置示例
# 1) 安装 nvm
brew install nvm
# 2) 创建目录
mkdir -p ~/.nvm
# 3) 编辑 ~/.zshrc 并添加 nvm 配置
source ~/.zshrc
# 4) 安装常用版本
nvm install 18
nvm install 20
nvm install 22
# 5) 设置默认版本
nvm alias default 20
# 6) 验证
node -v
nvm ls
十二、总结
最终结构:
Mac M4
└─ Homebrew
└─ nvm
├─ Node 18(老项目)
├─ Node 20(默认)
└─ Node 22(新项目)
这套方案的价值在于:
- 清晰隔离,版本互不污染
- 快速切换,开发效率高
- 团队一致,协作成本低
- 原生 arm64,性能完整释放
以后再也不用把时间浪费在 Node 版本冲突上。