Homebrew 清理磁盘空间有五种方法:一、brew cleanup 删除旧版本和30天以上缓存;二、brew cleanup -n 预览待删内容;三、brew cleanup <formula> 定向清理指定软件旧版;四、brew cleanup --prune=all 强制清除所有无主缓存;五、手动 rm -rf $(brew --cache) 等命令清空缓存目录。

如果您在 macOS 上使用 Homebrew 安装了大量软件,系统磁盘空间可能因缓存文件和旧版本 Formula/Cask 积累而显著减少。以下是释放这些空间的具体操作步骤:
一、执行基础 brew cleanup 清理旧版本与缓存
该命令默认删除已安装软件的旧版本(保留当前激活版本)及超过30天的下载缓存,是安全、高频使用的标准清理方式。它不会删除当前正在使用的软件包,也不会影响已安装应用的功能。
1、打开终端应用。
2、输入命令并回车:brew cleanup。
3、等待命令执行完成,终端将显示被删除的路径及释放空间大小(例如“12.4GB reclaimed”)。
二、预览清理内容避免误删
在实际执行清理前,可先查看哪些文件将被移除,确认无关键旧版本残留(如被 pin 锁定但未显式列出的版本),防止意外丢失兼容性依赖。
1、在终端中运行:brew cleanup -n。
2、观察输出列表,重点关注 Cellar 中重复版本目录(如 /opt/homebrew/Cellar/python@3.9/3.9.18 与 /opt/homebrew/Cellar/python@3.9/3.9.16 并存时,后者通常为待删旧版)。
三、定向清理指定软件的旧版本
当仅需释放某一个大型软件(如 node、python、ffmpeg)的旧版空间,而不影响其他公式时,该方法可精准控制清理范围,避免全局操作带来的延迟或干扰。
1、确认目标软件名称,可通过 brew list 查看全量已安装列表。
2、执行定向清理:brew cleanup node(以 node 为例)。
3、若该软件存在多个历史版本,命令将仅移除其非当前激活的旧版目录,保留最新版及当前 link 指向的版本。
四、强制清理全部缓存与孤立依赖
当 brew cleanup 默认行为未能释放预期空间(例如存在大量未被引用的下载包、已卸载软件残留缓存、或跨架构迁移后遗留的 Intel 缓存),需启用深度清理模式。此操作会删除所有未被任何 formula/cask 引用的归档文件及缓存项。
1、在终端中输入:brew cleanup --prune=all。
2、该命令会遍历 $(brew --cache) 目录(如 ~/Library/Caches/Homebrew 或 /opt/homebrew/Library/Caches/Homebrew),清除无主缓存归档。
3、执行后可能触发对 /usr/local/var/homebrew/locks 等临时锁文件的自动清理。
五、手动清除用户级与系统级缓存目录
当 brew cleanup 命令无法访问或权限受限(如缓存目录归属 root、或 Homebrew 已部分损坏),需绕过命令行逻辑,直接删除物理缓存路径。该方式不依赖 brew 运行时状态,适用于故障恢复场景。
1、获取当前用户缓存路径:brew --cache,记下输出结果(如 /Users/xxx/Library/Caches/Homebrew)。
2、执行用户缓存清除:rm -rf $(brew --cache)。
3、如需清理全局缓存(需管理员权限):sudo rm -rf /Library/Caches/Homebrew。
4、同步删除日志缓存:rm -rf ~/Library/Logs/Homebrew。

















