跳转到主内容
返回博客列表

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
安装最新 LTSnvm 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 版本冲突上。