很多人装完 macOS 新系统后,会经历一轮重复劳动:装浏览器、装终端、装开发环境、装常用小工具,最后再把各种偏好设置回来。Homebrew Bundle 的思路是把这些“要安装什么”写成一份清单(Brewfile),以后换新机或重装系统时按清单一键恢复;平时新增/删除软件,也同步更新清单,让环境始终可追踪、可复用。
它适合:个人快速初始化新机、工作室/小团队统一工具链、经常在多台 Mac 之间切换的人。本文以“可重复部署”为目标,尽量减少临时手工操作。
Homebrew 官网:https://brew.sh/
按官网给出的方式安装即可。常见安装命令形态如下(以官网为准,复制前先确认与你的系统一致):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装完成后建议运行一次自检,确认 Homebrew 可用:
brew -v
Homebrew Bundle 用 Brewfile 描述要安装的内容。你可以在一个专用目录里维护(例如 ~/dotfiles/brew/),也可以放在个人配置仓库中。
先用 Homebrew 自带命令生成一个初始 Brewfile(会根据你当前已安装内容导出):
brew bundle dump --file=./Brewfile --force
打开 Brewfile 后,你会看到类似条目(示例):
tap "homebrew/cask"
brew "git"
brew "fzf"
cask "google-chrome"
cask "visual-studio-code"
想要更“可读”,可以在 Brewfile 里写注释分组(# 开头),把命令行工具、GUI 应用、字体/驱动等分别放一起,后续维护会轻松很多。
如果你还希望把 Mac App Store 的应用也纳入清单,可以借助 mas(命令行管理 App Store)。先安装:
brew install mas
登录 App Store 后,查看已安装应用列表:
mas list
在 Brewfile 中加入 mas 条目(示例):
mas "Xcode", id: 497799835
这样你在新机上执行 bundle 安装时,也能把 App Store 的核心应用一起补齐。
当 Brewfile 准备好后,在 Brewfile 所在目录执行:
brew bundle --file=./Brewfile
它会按清单安装缺少的项目。以后你新增一个工具,只要把对应条目写进 Brewfile,再跑一次同样的命令即可。
如果想在“清单”和“当前机器状态”之间做整理,可以考虑(谨慎使用)清理命令:它会移除不在 Brewfile 中的项目:
brew bundle cleanup --file=./Brewfile
建议先把 Brewfile 提交到 Git,再执行 cleanup,这样回滚更安心。
1) 分层:把“通用工具”和“特定工作流工具”分开,必要时拆多个 Brewfile(例如一个基础版、一个开发版)。
2) 记录原因:对关键工具写一句注释说明用途,避免半年后忘记“为什么要装它”。
3) 统一入口:把装机命令写进一份 README(例如 brew bundle --file=./Brewfile),让自己和同事都能按同一路径执行。
4) 迭代维护:每隔一段时间跑一次导出/对比,清掉不再使用的工具,让清单保持“短而准”。
Homebrew:https://brew.sh/
Homebrew Bundle(仓库):https://github.com/Homebrew/homebrew-bundle
mas(Mac App Store CLI):https://github.com/mas-cli/mas