跳到主要内容
Mole
概览 功能 口碑 定价 常见问题 博客
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
立即购买购买 下载

    帮助、文档、更新日志和文章

    首页/博客

    卸载 Homebrew 前,先把已装清单导出来

    卸载应用发布于 2026年8月4日更新于 2026年8月8日约 2 分钟

    Homebrew 自带官方卸载脚本,行为与说明一致,真正要留意的是它的范围:Homebrew 本身和经它装上的一切会一起走,这两件事的分量因你来这里的目的而不同。

    若是为了腾磁盘,这往往是开发者 Mac 上单次回收空间最大的一刀,若只是某一个命令行软件包出了问题,这就远超你需要的操作。

    官方卸载脚本

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
    

    运行前先读一遍,脚本很短,却是即将发生之事的权威说明,任何文章都代替不了,它支持 --dry-run,在你在意的机器上,这应是第一次调用的正确方式,只打印将删除的内容,不做任何改动。

    脚本实际会删掉什么

    卸载器会移除 Homebrew 安装前缀及其下的目录:bin、etc、include、lib、opt、sbin、share、var、Frameworks,以及 Cellar 与 Caskroom。

    后两者才是关键,Cellar 存放每个命令行软件包的文件,Caskroom 存放图形应用包的元数据,卸掉 Homebrew 等于一并卸掉它们,经它安装的命令行工具会同时消失。

    它还会清理 ~/Library/Caches/Homebrew 与 ~/Library/Logs/Homebrew、系统级 Homebrew 缓存、/etc/paths.d/homebrew,以及 /Applications 与 ~/Applications 里由 Homebrew 管理的应用程序。

    卸载脚本会移除包含 Cellar 与 Caskroom 在内的 Homebrew 安装前缀,以及缓存与日志;各软件包自行写入的配置与 shell 配置文件中的行会保留。
    脚本带走的是软件包本身,不只是包管理器。留下的是那些软件写入的配置,以及你自己加进 shell 配置文件的行。

    动手前先记下已装了什么

    清单卸完后无法找回,导出只需两条命令:

    brew leaves > ~/Desktop/brew-formulae.txt
    brew list --cask > ~/Desktop/brew-casks.txt
    

    brew leaves 列出的是你主动安装的命令行软件包,不含背后拉进来的依赖,重建时要的就是这份列表,换到新机器上,这两个文件能把一天的回忆变成一行 brew install。

    软件包存放在自身目录之外的内容会留下来,值得保留的有 Postgres 数据目录、/opt/homebrew/var 下的本地数据库和家目录里的配置,卸载器会删掉前缀下的 var,住在那里的数据库会一并消失,若它重要,先拷出来。

    结尾那行容易被滑过去的提示

    脚本结束时可能打印:部分可能属于 Homebrew 的文件未能删除,你可以自行处理,并附上路径列表。

    这些路径只在这里被点名,常见原因是权限落在 Homebrew 未创建的目录上,列表通常很短,关掉终端前先复制保存,因为在已经卸干净的机器上再跑一次卸载器,不会再给出这份列表。

    shell 配置文件里还记着它

    卸载器不会改 .zprofile、.zshrc 或 .bash_profile,安装时加入的 eval "$(/opt/homebrew/bin/brew shellenv)" 仍会留下,之后每个新 shell 都会去跑一个已经不存在的程序,无害,但吵,删掉这行,或者打算重装就先留着。

    先想清楚要不要做这么大的操作

    多数卸载 Homebrew 的理由,用更窄的操作就够了,brew cleanup 回收旧版本与缓存下载,brew uninstall <formula> 只卸掉一个软件包,brew autoremove 清掉已无消费者的依赖,无论跑哪条,Mole 都会显示安装前缀在操作前后各占多少空间,这个数字能帮你判断是否真的需要整库卸掉。

    用导出的清单重建

    新机器上装好 Homebrew 之后,两条命令就能把之前那套装回来,分开两条是因为 cask 要带 --cask,混在一起会有一半装不上:

    xargs brew install < brew-formulae.txt
    xargs brew install --cask < brew-casks.txt
    

    用 brew leaves 而不是 brew list,区别在这里才体现出来:brew list 会把依赖也列进去,照着装一遍会显式安装几百个本该由依赖关系自动带上的包,之后 brew autoremove 也不敢清它们了,因为它们变成了你主动要的,而 brew leaves 只给你当初真正 install 过的那些,依赖交给 Homebrew 自己解。

    腾出空间、管理 App、维护系统、看清磁盘和实时状态,都在一个原生 Mac App 里,一次买断不用订阅。

    看看 Mole

    继续阅读

    • 卸载应用如何彻底卸载 Mac 应用,又不误删共享数据约 3 分钟
    • 卸载应用卸掉 Creative Cloud,别把还需要的文件一起清掉约 3 分钟
    • 卸载应用卸载 Mac 上的 Office,别把 Outlook 邮件一起删了约 3 分钟

    Mole · 鼴

    Mac 清理、软件与状态工具。

    v1.13.0 (153) · 更新日志

    支持

    帮助 功能文档 更新日志

    法律

    服务条款 隐私政策 退款政策

    资源

    博客 命令行工具 合作推广

    联系

    Twitter hi@mole.fit

    请认准官网 mole.fit · 避免下载到来路不明的版本

    命令行版继续免费开源。