Levo 指南 · 卸载 App

如何彻底卸载 Mac 上的 App

把 App 拖到废纸篓,只会删除 App 本身。它的缓存、偏好设置、支持文件和后台辅助程序会留在你的 Library 文件夹里,直到你删除它们;对大多数 App 来说只有几 MB,但有些会有几个 GB。

Levo 弹出窗口中 Uninstall 确认步骤,列出一个 App 及其残留文件和大小
内容位置能安全删除吗?
Application Support~/Library/Application Support/<app>能,如果你不需要该 App 的数据(项目、资料库、数据库)
缓存~/Library/Caches/<bundle id>能,需要时会重建
偏好设置~/Library/Preferences/<bundle id>.plist能,设置会重置
沙盒数据~/Library/Containers/<bundle id>、~/Library/Group Containers/…能,但这里可能存放着文档
已保存的状态和日志~/Library/Saved Application State、~/Library/Logs能
登录项和代理~/Library/LaunchAgents、/Library/LaunchAgents、/Library/LaunchDaemons能,如果名称与该 App 相符
特权辅助工具/Library/PrivilegedHelperTools能,如果名称与该 App 相符
安装收据pkgutil --pkgs无害;想忘掉它们也可以

自己动手清理

残留文件是按 App 的包标识符(bundle identifier)来对应的,它的格式类似 com.company.AppName。先把它查出来,因为文件夹名称往往和 App 的名称不同。

  1. 退出 App。如果它有菜单栏图标,就从那里退出。检查系统设置 › 通用 › 登录项与扩展,关闭它添加的所有内容。
  2. 在删除 App 之前,先读取包标识符:
mdls -name kMDItemCFBundleIdentifier /Applications/AppName.app
  1. 有些 App 自带卸载程序,可能在 App 的菜单里、磁盘映像中,或厂商的支持页面上。请先用它。Adobe、Microsoft Office、Docker 和大多数安全工具都有。
  2. 把 App 从 /Applications 拖到废纸篓。用 .pkg 安装的 App 还可能在 /Library 和 /usr/local 中有文件。
  3. 在访达中选取前往 › 前往文件夹(⇧⌘G),逐个打开表格中的文件夹。查找包标识符或 App 的名称。

用终端更快。下面的命令只列出候选项,不会删除任何东西:

find ~/Library /Library -maxdepth 3 \( -iname "*appname*" -o -iname "*com.company*" \) 2>/dev/null

在删除任何东西之前,先看一遍列表。在确定不再需要这个 App 之前,把项目移到废纸篓,而不要用 rm。

不要仅仅因为某个文件夹很大,或者名字里有和 App 相同的词,就删除它。~/Library/Application Support/Google 属于 Chrome、Drive 和 Earth。~/Library/Group Containers 里的文件夹可能由同一厂商的多个 App 共用。请匹配完全一致的包标识符或 App 名称。

Homebrew cask 和 pkg 安装的 App

如果你是用 Homebrew 安装的,就让它来处理。--zap 选项还会删除该 cask 所知的相关文件:

brew uninstall --cask --zap appname

对于通过 .pkg 安装的 App,列出安装程序放置了什么,以及放在哪里:

pkgutil --pkgs | grep -i appname
pkgutil --files com.company.appname.pkg

只有体积大的或系统级的文件,才值得手动删除。然后运行 sudo pkgutil --forget com.company.appname.pkg 来清除安装收据。

找出很久以前删除的 App 留下的孤立文件

在访达中按大小给 ~/Library/Application Support 和 ~/Library/Containers 排序(列表视图,显示 › 查看显示选项 › 计算所有大小),找出你已不再拥有的 App 的名称。对 ~/Library/Caches 也这样做。遇到不认识的,先搜索名称再删除。如果它是下面这些 App 之一,对应的专门指南列出了确切的位置:

App 文件夹的一般情况,参见Application Support 里有什么。

Levo 怎么做

按 ⌘K,输入“uninstall”和 App 的名称,Levo 会打开一个确认步骤,列出该 App 以及它在 Application Support、缓存和偏好设置中留下的内容,每项都有大小。取消勾选你想保留的内容,然后按 ⌘⌫。如果 App 正在运行,↵ 会先退出它。

Levo 不会删除 Apple 自带的 App、它自己,也不会删除你保护的文件夹中的残留文件。它处理的是你个人 Library 中的内容,所以 /Library 中的辅助程序仍需手动处理,如上所述。参见卸载 App 及其残留文件。卸载的内容会进入废纸篓,在 ⌘K 中点击 Put back 放回原处,可在一天内恢复该 App 及其残留文件。

常见问题

把 App 拖到废纸篓就够了吗?

对 App 本身来说,够了。它会在你的 Library 文件夹中留下缓存、偏好设置和支持文件,通常只有几 MB,有时是几个 GB。它们无害,所以这是空间问题,不是安全问题。

删除残留文件会弄坏什么吗?

只要它们属于你删除的那个 App,就不会。请匹配完全一致的包标识符或 App 名称,并避开同一公司的其他 App 共用的厂商文件夹。

为什么有些 App 有单独的卸载程序?

安装了后台辅助程序、驱动或系统扩展的 App,光靠拖到废纸篓是删不掉这些的。厂商的卸载程序会删除这些部分,所以请先用它。

如何找到几年前删除的 App 留下的残留文件?

按大小给 Library 里的 Application Support、Containers 和 Caches 文件夹排序,找出你已不再拥有的 App 的名称。删除任何不认识的内容之前,先搜索名称。