直接用 brew cleanup 就能安全清理 Homebrew 的历史残留,包括非激活旧版本包和超30天缓存,不触碰当前使用版本;支持 -n 预览、定向清理 formula、--prune=all 深度清除冗余缓存与孤立依赖,并可手动 rm -rf $(brew --cache) 补漏。
直接用 brew cleanup 就能安全清理 homebrew 的历史残留——包括旧版本软件包和过期下载缓存,不碰当前正在用的版本,也不影响系统稳定性。
基础清理:删掉所有非激活旧版 + 30天以上缓存
这是最常用、最稳妥的方式,适合日常维护:
- 打开终端(Spotlight 搜 “Terminal” 或前往“应用程序 → 实用工具”)
- 输入命令并回车:brew cleanup
- 命令会自动删除
/opt/homebrew/Cellar(Apple Silicon)或/usr/local/Cellar(Intel)里已升级/卸载但未被 link 指向的旧版本目录,同时清掉$(brew --cache)下超过30天的.tar.gz安装包 - 完成后终端会显示释放了多少空间,常见为 5–15 GB
预览再动手:先看清楚要删什么
不确定是否该删?或者想确认会不会误删某个老版本(比如用于兼容测试的 Python@3.11),就先模拟运行:
- 执行:brew cleanup -n
- 终端会逐行列出所有待删路径,例如:
/opt/homebrew/Cellar/node/20.11.0、/opt/homebrew/cache/node--20.11.0.arm64_monterey.bottle.tar.gz - 如果看到想保留的版本,可先运行
brew pin node@20.11.0加锁,再正式清理
定向清理:只动某几个大体积公式
当 node、python、ffmpeg 这类软件占了大量旧版空间,其他包无需干预时,精准操作更高效:
- 查已安装名称:brew list | grep -i "node"
- 只清它的旧版:brew cleanup node
- 多个一起清也行:brew cleanup python@3.12 rustup wget
- 不会触发全局扫描,响应快、零干扰
深度清理:清掉全部冗余缓存与孤立依赖
长期没清理、磁盘告急(比如只剩不到 5 GB),或刚从 Intel 迁移到 Apple Silicon 后残留大量旧架构缓存,推荐这一步:
- 运行:brew cleanup --prune=all
- 它会扫完整个缓存目录,删掉所有未被任何 formula 引用的 tarball、构建中间产物,甚至旧版 bottle 元数据
- Homebrew 4.0+ 会同步触发
brew autoremove,移除不再被依赖的孤立包 - 实测额外释放 3–8 GB 很常见
手动补漏:应对权限异常或残留缓存
极少数情况下,brew cleanup 可能跳过损坏链接或权限不足的文件:
- 先确认当前缓存路径:brew --cache(通常为
~/Library/Caches/Homebrew或/Library/Caches/Homebrew) - 安全清空:rm -rf $(brew --cache)
- 若提示权限错误,且路径确属系统级(如
/Library/Caches/Homebrew),再加sudo


















