brew cleanup 是释放 homebrew 占用磁盘空间的核心命令,支持基础清理、强制清理、定向清理、预览效果及手动清除五种方式,可释放5–15 gb常规空间或额外3–8 gb冗余数据。

一、执行基础清理释放常规空间
如果您运行 brew install 后发现磁盘空间持续减少,且 Homebrew 缓存目录(/opt/homebrew/cache 或 /usr/local/Homebrew/cache)占用异常,说明旧版本 formula tarball 和超过30天的下载缓存已堆积。brew cleanup 命令默认仅删除已安装软件的旧版本(保留当前激活版)及超期缓存,是安全、高频使用的释放方式。
1、打开终端应用(可通过 Spotlight 搜索 Terminal 或前往“应用程序 → 实用工具”)。
2、输入以下命令并回车执行:brew cleanup。
3、等待命令完成,终端将显示已删除的旧版本数量及释放的空间大小,通常为5–15 GB。
二、强制清理全部冗余缓存与孤立依赖
当系统长期未执行清理,或需应对紧急空间告急(如剩余空间<5 GB),--prune=all 参数可绕过30天时限,清除所有未被任何当前 formula 引用的缓存文件、旧版 tarball 及构建中间产物,并自动触发 autoremove 移除孤立包。
1、在终端中运行:brew cleanup --prune=all。
2、该操作会同步触发 brew autoremove(如已启用),移除不再被任何公式依赖的孤立包。
3、执行后可额外释放3–8 GB空间,尤其适用于 Apple Silicon Mac 上长期使用 Homebrew 的用户。
三、定向清理指定公式的旧版本
为避免误删仍需回滚的特定旧版软件(例如 Python@3.11 或 node@18),可对单个或多个 formula 进行精准清理,不影响其他包的缓存状态和历史版本保留策略。
1、确认目标软件名称(例如 node、wget):brew list | grep -i "node"。
2、执行定向清理:brew cleanup node。
3、支持多软件同时清理:brew cleanup wget node python@3.11。
四、预览清理效果避免误删
首次执行清理前,-n(no-op)参数可模拟运行全过程,仅输出将被删除的文件路径与预估释放空间,不执行任何实际写入或删除操作,适用于谨慎型用户或生产环境维护场景。
1、在终端中输入:brew cleanup -n。
2、终端将逐行列出所有待删除的旧版本路径及缓存文件名(如 /opt/homebrew/cache/node--16.20.2.mojave.bottle.tar.gz)。
3、若输出显示将释放≥10 GB空间且路径均属预期范围,即可放心执行正式清理。
五、手动清除残留缓存目录
当 brew cleanup 因权限异常、路径损坏或符号链接断裂而跳过部分缓存时,可直接清理 Homebrew 缓存根目录。该操作绕过 brew 内部逻辑,适用于极端空间紧张且确认无其他进程正写入缓存的场景。
1、确认当前缓存路径:echo $HOMEBREW_CACHE(通常返回 /opt/homebrew/cache 或 /usr/local/Homebrew/cache)。
2、进入该目录并列出大文件:du -sh * | sort -hr | head -10。
3、删除整个缓存目录(请确保无活跃 brew 操作):rm -rf $(brew --cache)。











