核心是用brew bundle dump生成Brewfile记录依赖清单,配合备份~/.zshrc、~/.gitconfig、iTerm2和VS Code配置,再用rsync归档验证可恢复性。
macos 上用 homebrew 备份开发环境,核心不是“把所有软件文件打包”,而是“记录你装了什么、怎么装的”,这样重装或换机时才能快速还原。关键在于结构化导出依赖清单,并配合其他配置文件一起归档。
用 brew bundle 生成可复现的 Brewfile
Homebrew-bundle 是官方集成的工具,能一次性抓取你当前安装的所有内容:Homebrew 公式包(如 node、python)、Cask 应用(如 visual-studio-code、google-chrome)、Mac App Store 应用(需提前登录)、甚至 VS Code 扩展。
- 在终端运行 brew bundle dump --force,会在当前目录生成或更新 Brewfile
- Brewfile 是纯文本,可直接提交到 Git,也方便人工检查和编辑
- 它不记录安装路径或本地修改,只声明“该装什么”,确保跨机器一致性
补全非 Homebrew 的关键配置
Brewfile 管不了 shell、Git、编辑器这些,必须手动备份配套文件:
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- Shell 配置:~/.zshrc、~/.zprofile(Catalina 后默认)——含 PATH、alias、函数定义
- Git 设置:~/.gitconfig(用户名、邮箱、常用别名、换行符策略等)
- iTerm2 偏好:~/Library/Preferences/com.googlecode.iterm2.plist(字体、配色、快捷键)
- VS Code 设置:导出 Settings(Cmd+, → 右上角 {} → Export Settings)和扩展列表(Cmd+Shift+P → Export Extensions)
用 rsync + 时间戳做轻量快照
把上述文件统一归档,避免手动复制遗漏:
- 创建带时间戳的备份目录:mkdir -p ~/Backups/dev-$(date +%Y%m%d-%H%M%S)
- 同步关键文件:rsync -avh ~/.zshrc ~/.gitconfig ~/Library/Preferences/com.googlecode.iterm2.plist ~/Backups/dev-$(date +%Y%m%d-%H%M%S)/
- 排除临时内容:--exclude='.DS_Store' --exclude='cache' --exclude='logs'
- 后续增量备份可用 --link-dest 复用未改动文件,节省空间
验证与恢复流程要闭环
备份完不能就放着,得确认它真能用:
- 检查 Brewfile 是否包含你需要的所有条目,比如 cask "rectangle" 或 mas "Xcode", id: 497799835
- 在新机器上先装 Homebrew,再运行 brew bundle install,观察是否有报错
- 恢复后手动 source ~/.zshrc,测试 alias 和 PATH 是否生效;打开 VS Code 看设置和插件是否加载成功

















