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

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

    首页/Mole 实测软件

    卸载 Homebrew 应用,留下 brew 命令

    Homebrew.app 是 Homebrew 的 Mac 应用,bundle id 为 sh.brew.app。移除它不会删掉 brew 命令,也不会动你用它装的任何软件,所以单卸应用不需要备份什么。如果还打算卸掉命令行 Homebrew,先导出软件包清单(见最后一节)。本页覆盖 BrewUI 发布页下载的应用和 Homebrew 的 homebrew-app cask。

    退出 Homebrew.app,再移除

    退出 Homebrew.app,再从「应用程序」移到废纸篓。这一步移除的是 Mac 应用,不会运行 Homebrew 的命令行卸载脚本,brew 管理的软件包照常可用。

    哪些文件属于这个应用

    退出后在 Finder 按 Shift + Command + G,打开存在的 ~/Library/Application Support/sh.brew.app、~/Library/Caches/sh.brew.app 和 ~/Library/Preferences/sh.brew.app.plist,只把决定不保留的 Homebrew.app 条目移到废纸篓,brew 命令的缓存、日志和安装前缀先保留,除非你也要按后面的独立步骤移除命令行。

    位置 属于谁 保留还是删除
    ~/Library/Application Support/sh.brew.app Homebrew.app 随应用一起删。
    ~/Library/Caches/sh.brew.app Homebrew.app 可以删。
    ~/Library/Preferences/sh.brew.app.plist Homebrew.app 可以删。
    ~/Library/Caches/Homebrew brew 命令的下载缓存 还在用 brew 就保留。
    ~/Library/Logs/Homebrew brew 命令的日志 还在用 brew 就保留。
    ~/.homebrew 命令行的状态,包括信任数据 还在用 brew 就保留。
    /opt/homebrew(Apple 芯片)或 /usr/local(Intel) Homebrew 本体和所有软件包 只由 Homebrew 的卸载脚本移除。

    检查结果

    pgrep -ix homebrew
    ls -d ~/Library/Application\ Support/sh.brew.app ~/Library/Caches/sh.brew.app
    command -v brew
    

    pgrep 没有输出,说明应用已退出。ls 报 No such file or directory,说明应用的文件夹已经不在;列出了路径说明还在磁盘上。command -v brew 打印了路径,说明这个 shell 仍能找到 brew,只卸应用时这是预期结果,不是卸载失败。没有输出只说明当前 PATH 找不到它,不能据此判断所有软件包都被删了。

    用 Homebrew 安装时

    Mole 会先检查 zap 清单,涉及未勾选的数据、其他应用共用的文件或无法确认的内容时不执行 --zap,已勾选的残留仍由 Mole 清理。

    只移除应用时运行 brew uninstall --cask homebrew-app。homebrew-app 这个 cask 的 zap 清单只包括应用自己的文件:以 sh.brew.app 命名的 Application Support、缓存、HTTP 存储和偏好设置。用 brew uninstall --cask --zap homebrew-app 卸载,不管是你自己运行还是 Mole 加上 --zap,都不会碰 brew 命令、它的缓存和日志,也不会碰你的软件包。

    想连命令行一起移除时

    卸载命令行 Homebrew 会移除它管理的所有 formula 和 cask 记录。先保存清单,brew bundle dump 会把它写成一个 Brewfile,以后可以照着重装(Brew Bundle 和 Brewfile):

    brew bundle dump --file="$HOME/Desktop/Brewfile"
    brew --prefix
    

    第二条命令打印要移除的前缀:Apple 芯片是 /opt/homebrew,Intel 是 /usr/local。从 Intel 迁移过来的 Mac 可能两个都有。Homebrew 的卸载说明使用这个脚本:

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

    想先预览或指定前缀,就把脚本下载下来,用 --dry-run 运行,它只列出会删除的内容,不做任何改动;要处理另一个前缀时加 --path=/usr/local:

    curl -fsSLO https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh
    /bin/bash uninstall.sh --dry-run
    

    脚本结束时,会在「The following possible Homebrew files were not deleted」下面列出没能删除的文件,这份清单要自己逐项核对。用 brew install --cask 装的应用会留在 /Applications,脚本只删除指向 Homebrew 自身目录的应用链接。不再需要的这类应用要另外卸载。更完整的说明见 用官方脚本卸载 Homebrew,并先导出清单。

    Mole 会列出什么

    以 sh.brew.app 命名的项目(Application Support、缓存、偏好设置)默认勾选。下面这些 Mole 不会放进 Homebrew.app 的删除计划,因为它们属于 brew 命令:

    位置 为什么留下
    ~/Library/Caches/Homebrew 命令行的下载缓存。
    ~/Library/Logs/Homebrew 命令行的日志。
    ~/.homebrew 命令行的状态,包括信任数据。

    这次检查覆盖了什么

    从 BrewUI 的 GitHub 发布页下载 Homebrew.app 0.4.3,复制到「应用程序」,再用 Mole 1.15 的一个 Preview 版本卸载。那个版本因为名字同为 Homebrew,把命令行的 ~/Library/Caches/Homebrew(489 MB)和 ~/Library/Logs/Homebrew 默认勾选并移到了废纸篓,brew 本身仍在。卸载命令行 Homebrew 没有测试。

    Mac 软件卸载不干净,可以试试 Mole,我亲手测试和核查过 799 款 Mac 软件。

    下载试用 Mole

    Mole · 鼴

    清理 Mac,管理软件,查看运行状态

    v1.16.0 (304) · 更新日志

    产品

    Mac 清理 App 卸载 Mac 优化 磁盘分析 系统监控

    支持

    帮助 功能文档 更新日志 博客

    法律

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

    资源

    命令行工具 推广联盟

    联系

    Twitter hi@mole.fit

    Mole 唯一官网 mole.fit · 请勿下载来源不明的安装包

    命令行版继续免费开源。