homebrew 不生成传统安装日志,但可通过 brew leaves --installed-on-request 导出主动安装的软件清单,或用 brew bundle dump 生成支持版本锁定、cask 和 tap 的结构化 brewfile,配合手动补全非 homebrew 应用并验证还原能力,实现可追溯、可复现的环境管理。
mac 上 homebrew 本身不生成传统意义的“安装日志”(如每一步时间戳、操作详情的审计日志),但它提供了多种方式导出**可追溯、可复现的软件安装状态清单**,这在实际运维和环境重建中比原始日志更可靠、更实用。
导出你主动安装的软件列表(最常用)
这条命令精准提取你亲手执行过 brew install 的软件(不含自动拉入的依赖),适合用于生产环境记录:
- 运行:
brew leaves --installed-on-request - 保存为文件:
brew leaves --installed-on-request > Brewfile.production - 输出示例:
nginx、postgresql、redis—— 纯包名,无版本、无注释,轻量易解析
生成结构化 Brewfile(推荐长期维护)
如果你希望清单支持版本锁定、分类注释、Cask 应用或 tap 源,用 brew bundle dump 更合适:
- 仅 formula(命令行工具),精简输出:
brew bundle dump --force --no-casks --describe | grep -E '^(brew|tap)' > Brewfile - 含 Cask 图形应用(如 Chrome、Visual Studio Code):
brew bundle dump --force --describe --global - Brewfile 可直接用于重装:
brew bundle install --file=Brewfile
补全非 Homebrew 安装的应用
Homebrew 不管理 App Store 或手动拖拽安装的 App,需额外补充:
- Cask 安装的 GUI 应用:
brew list --cask - App Store 已购/已安装应用:系统设置 → Apple ID → iCloud → 确认“App Store”已同步;再打开 Mac App Store → 点击右上角头像 → “已购项目”查看列表
- 手动安装的 App:检查
/Applications目录,可用ls /Applications | grep -E "\.app$"快速列出
验证导出结果是否真正可用
导出后务必测试还原能力,避免清单失效:
- 新建临时环境:
mkdir /tmp/brew-verify && cd /tmp/brew-verify - 执行安装:
brew bundle install --file=/path/to/Brewfile --no-lock - 观察报错:如提示
formula not found或version no longer available,说明清单需更新










