推荐用Homebrew安装nvm管理多版本Node.js,因其隔离存放、不干扰系统、支持自动切换及项目级版本匹配,且能规避npm全局权限问题。
直接用 homebrew 安装多版本 node.js 并不天然支持“同时存在+自由切换”,它本身是按公式(formula)安装的,比如 node@18、node@20,每次只能有一个被 brew link 到系统路径。真要灵活管理多个版本并随时切换,推荐搭配 nvm —— 它专为这事设计,所有版本隔离存放在你自己的目录下,不干扰系统,也不依赖 homebrew 的链接机制。
用 Homebrew 安装 nvm(最省心起点)
Homebrew 能自动处理路径和依赖,比手动下载脚本更稳定:
- 确认已装 Homebrew:
brew -v,有输出就跳过;没有就运行:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 安装 nvm:
brew install nvm - 创建 nvm 工作目录并写入环境变量:
mkdir ~/.nvmecho 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrcecho '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.zshrc - 重载配置:
source ~/.zshrc - 验证:
nvm -v应显示版本号
用 nvm 安装并切换多个 Node 版本
nvm 把每个版本独立安装在 ~/.nvm/versions/node/ 下,互不干扰:
- 查看所有可装版本:
nvm ls-remote(加--lts只看长期支持版) - 安装常用版本:
nvm install 16.20.2nvm install --ltsnvm install 20.12.0 - 查看已装版本:
nvm ls,带>的是当前生效版本 - 切换当前终端的版本:
nvm use 16.20.2 - 设默认启动版本(新终端自动用):
nvm alias default 18.19.0
让项目自动匹配 Node 版本(免手动切)
进项目时自动加载对应 Node 版本,只需加一个声明文件:
使用约定式提交(Conventional Commits)生成标准化的 Git 提交信息。适用于以下场景: (1) 暂存更改时需要提交信息; (2) 审查 diff 时希望获得结构化摘要; (3) 编写 PR 描述或变更日志(changelog)条目; (4) 用户明确要求“为本次更改编写提交信息”。 该功能会分析已暂存/未暂存的 diff,并生成按类型(type)划分范围的提交信息。
- 在项目根目录新建文件:
.nvmrc - 内容只写一行,例如:
16.20.2 - 之后进入该目录,运行
nvm use(不带参数),nvm 就会自动读取并切换 - 也可以加到 shell 提示符里自动触发(需额外配置
cd别名或使用插件)
避开 npm 全局安装权限问题
npm 全局安装(如 npm install -g pnpm)默认写入系统路径,容易报 EACCES 错。统一配到用户目录即可:
- 创建全局目录:
mkdir ~/.npm-global - 告诉 npm 使用它:
npm config set prefix '~/.npm-global' - 把该目录加入 PATH:
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc - 重载:
source ~/.zshrc
不复杂但容易忽略:Homebrew 自身适合装单个稳定版 Node,而真正需要多版本共存与项目级隔离时,nvm 是 macOS 上最成熟、最轻量、最不影响系统的方案。

















