homebrew缓存清理分五步:基础清理用brew cleanup释放5–15gb;深度清理用brew cleanup --prune=all加autoremove额外释放3–8gb;定向清理指定formula如brew cleanup ffmpeg;预览用brew cleanup -n防误删;手动补漏用rm -rf $(brew --cache)彻底清空缓存目录。

Mac上Homebrew长期使用后,/opt/homebrew/cache(Apple Silicon)或/usr/local/Homebrew/cache(Intel)目录会堆积大量旧版formula tarball、重复bottle、构建中间产物和孤立依赖,单个缓存文件可达数百MB,累积下来轻松占用20GB以上。不清理会导致磁盘告急、安装变慢、甚至触发Xcode或Catalina+系统级空间警告。
基础清理:安全释放5–15 GB常规空间
这一步只删已安装软件的旧版本包和超30天的下载缓存,保留当前激活版本,不影响任何正在运行的工具。
打开终端,执行:brew cleanup
命令自动扫描缓存目录,删除所有未被当前formula版本引用的.tar.gz和.bottle文件。完成后终端会明确显示“Removed X old versions”及“freed Y GB”,这是绝大多数用户需要的清理动作。
深度清理:强制清除全部冗余缓存与孤立依赖
当磁盘剩余不足5 GB,或你刚从Intel Mac迁移至Apple Silicon,残留大量x86_64 bottle时,必须用--prune=all参数绕过30天限制,扫光所有未被引用的缓存文件。
第一步:运行 brew cleanup --prune=all
第二步:该命令会同步触发 brew autoremove(Homebrew 4.0+默认启用),自动卸载仅作为依赖安装且当前无任何formula引用的包,比如libidn2、pcre2、openssl@1.1等。
第三步:执行完毕后,通常可额外释放3–8 GB。注意:此操作不可逆,【若你仍需回滚到某旧版Python或Node进行兼容测试,请先brew pin python@3.11再执行】。
定向清理:精准清除单个公式的历史缓存
当你发现node或ffmpeg单独占了6 GB缓存,而其他包状态良好,就该跳过全局清理,直击目标。
方法一:查出精确名称
执行 brew list | grep -i "ffmpeg" 确认是否为ffmpeg(而非ffmpeg@6)
方法二:只清它的旧版缓存
brew cleanup ffmpeg
方法三:多个公式一起清
brew cleanup node python@3.12 rustup
预览清理内容:避免误删关键旧版本
首次执行清理前,或在生产环境维护时,务必先用-n参数模拟运行,看清将删什么再动手。
在终端中输入:brew cleanup -n
终端会逐行列出所有待删路径,例如:
/opt/homebrew/cache/python@3.11--3.11.9.arm64_monterey.bottle.tar.gz
/opt/homebrew/cache/node--20.12.1.arm64_monterey.bottle.tar.gz
如果看到你还想留着的版本(比如用于CI脚本的python@3.11),立即中断,改用brew pin锁定。
手动补漏:清空整个缓存根目录
极少数情况,brew cleanup会跳过损坏软链接、权限异常或挂载点异常的缓存文件,导致释放空间远低于预期。
先确认路径是否正确:brew --cache → 输出应为/opt/homebrew/cache或/usr/local/Homebrew/cache
再执行彻底清空:rm -rf $(brew --cache)
这一步直接删除整个缓存目录,【执行前请确保brew --cache输出路径无误,且你不需要任何历史下载包重装】。它不触碰/opt/homebrew/Cellar里的已安装软件,完全安全。











