Homebrew可通过homebrew-services实现自动清理:执行brew tap homebrew/services和brew services start cleanup即可启用每周日凌晨2点的自动清理,删除30天前缓存、旧版本formula等垃圾文件。
homebrew 本身不内置自动清理功能,但你可以通过系统级定时任务(macos 的 launchd)让 brew cleanup 定期执行,实现真正的“自动清理垃圾文件”。
✅ 设置每周自动清理(推荐方式)
Homebrew 官方生态已提供轻量服务支持,只需两步:
# 1. 安装 homebrew-services(如未安装) brew tap homebrew/services # 2. 启动 cleanup 服务(默认每周日凌晨2点运行) brew services start cleanup
该服务会自动创建并加载一个 launchd plist 配置文件(路径为 $(brew --prefix)/homebrew-services/cleanup.plist),按预设时间触发 brew cleanup,删除:
- 超过30天的下载缓存(
.tar.gz等安装包) - 已卸载软件残留的旧版本(如
python@3.11卸载后留下的python@3.10) - 无效锁文件和临时构建目录
执行后终端会显示释放空间大小,无需人工干预。
⚙️ 自定义执行频率(可选)
若想改成每月、每日或指定时间,可手动编辑 plist 文件:
# 编辑配置文件(用 nano 或 VS Code 打开) nano $(brew --prefix)/homebrew-services/cleanup.plist
重点关注 下的字典,例如改为每天凌晨3:15:
<key>StartCalendarInterval</key><dict><key>Hour</key><integer>3</integer><key>Minute</key><integer>15</integer></dict>
保存后重载服务:
brew services restart cleanup
? 补充建议:搭配深度清理策略
默认 brew cleanup 较保守。如需更彻底释放空间(比如长期未清理的 Mac),可改用带参数的命令,并在 plist 中替换执行语句:
# 示例:每7天深度清理(含最新版缓存 + 旧版 formula) brew cleanup -s --prune=7
⚠️ 注意:-s(--scrub)会删掉当前版本的缓存包(下次重装需重新下载),适合磁盘紧张时启用。
? 验证是否生效
- 查看服务状态:
brew services list | grep cleanup - 手动触发一次:
brew cleanup - 检查日志(清理记录):
tail -n 20 $(brew --prefix)/var/log/cleanup.log
自动清理不会误删正在使用的软件,所有操作均基于 Homebrew 内置安全逻辑判断。
不复杂但容易忽略










