App 指南

在 Mac 上卸载 App,不留痕迹

在 Mac 上卸载 App 看起来再简单不过:拖到废纸篓就完事了。但实际上,App 往往已经在你的“资源库”中五六个文件夹里留下了文件:偏好设置、缓存、支持数据、登录时自动启动的代理程序。这些残留小到几 KB,大到好几 GB。

本指南将说明普通删除之后还剩下什么、去哪里找、何时应该使用开发者提供的卸载程序,以及如何避免误删其他 App 仍在使用的文件。

为什么把 App 拖到废纸篓还不够

Mac App 是一个包含代码和资源的软件包(.app)。这个包并不包含 App 在运行过程中创建的内容:你的设置、它的缓存、数据库和扩展。这些文件存放在 ~/Library(你账户的资源库)中,有时也在 /Library(所有账户共享)中。

大多数情况下,这些残留无害,只是占用空间。但有些更令人头疼:

  • 一个启动代理,每次登录都会启动,并试图寻找已经不存在的 App;
  • 一个仍处于活跃状态的系统扩展或网络扩展(VPN、杀毒软件、音频驱动);
  • 视频剪辑软件、游戏或开发工具留下的数 GB 缓存。

反过来,如果你以后还打算重新安装这个 App,保留它的偏好设置可以让你找回原来的设置。所以清除残留并不是必须的,而是一种选择。

判断是否值得清理,可以看两个因素:残留的大小,以及它是否会自动运行。几 KB 的偏好设置文件留着也无妨;但几 GB 的缓存或支持数据,或者每次登录都会启动的代理程序,就值得花几分钟处理掉。

残留文件藏在哪里

“资源库”文件夹默认是隐藏的。打开方法:在访达中打开前往菜单,按住 Option 键,然后选择资源库。也可以使用前往 > 前往文件夹(Shift + Command + G)并输入路径。

文件夹内容常见大小
~/Library/Application Support/App 数据、数据库、模型、插件几 MB 到几 GB
~/Library/Caches/按需重建的临时文件通常 100 MB 到几 GB
~/Library/Preferences/设置,以标识符命名的 .plist 文件(如 com.developer.app.plist)几 KB
~/Library/Containers/ 和 ~/Library/Group Containers/沙盒 App 的数据,包括 Mac App Store 中的 App不定,有时达数 GB
~/Library/LaunchAgents/ 以及 /Library/LaunchAgents/、/Library/LaunchDaemons/自动启动的程序几 KB,但会影响启动
~/Library/Logs/、~/Library/Saved Application State/日志和窗口状态很小

文件名通常包含 App 名称或其反向域名标识符(com.developer.appname)。要在删除 App 之前查到这个标识符,可以打开“终端”并输入 osascript -e 'id of app "App名称"'。

手动方法,一步一步来

  1. 退出 App,包括它在菜单栏中的图标。在活动监视器中确认没有以它命名的进程仍在运行。
  2. 关闭自动启动的项目:打开系统设置 > 通用 > 登录项与扩展,从登录时打开列表中移除该 App,并在允许在后台中将其关闭。
  3. 删除 App:在“应用程序”文件夹中把它拖到废纸篓(或按 Command + Delete)。
  4. 查找残留:在上表列出的文件夹中,搜索 App 名称或开发者名称。把找到的文件移到废纸篓,但先不要清倒。
  5. 重新启动,正常使用 Mac 一两天。如果一切正常,再清倒废纸篓。

对于发布多个 App 的开发者(Adobe、Microsoft、Google)的文件夹要格外小心:Application Support 中的 Microsoft 文件夹可能同时供 Word 和 Teams 使用。只删除明确属于已卸载 App 的内容。

如果拿不准某个文件属于谁,就先把它留在原处,或者只移到废纸篓而不清倒。让一个无害的小文件多待一段时间,远比误删其他 App 的数据、导致它无法启动要好得多。

有官方卸载程序时,优先使用

有些 App 会安装手动删除无法彻底清除的组件:系统扩展、驱动程序、具有特权的后台服务。对于这类 App,开发者会提供专门的工具:

  • Adobe Creative Cloud:先在 Creative Cloud App 中逐个卸载各个 App,再运行 Creative Cloud 自身的卸载程序。
  • Microsoft Office、杀毒软件、VPN、打印机或音频接口的驱动程序:在原始磁盘映像或开发者网站上查找“Uninstaller”。
  • 通过 Homebrew 安装的 App:使用 brew uninstall --cask 名称,或使用 brew uninstall --zap --cask 名称 同时移除已知的支持文件。

如果 App 安装过系统扩展,卸载后请在系统设置 > 通用 > 登录项与扩展中确认没有残留。

Mac App Store 中的 App

Mac App Store 中的 App 都运行在沙盒中:它们的数据集中存放在 ~/Library/Containers 里,清理起来更容易。删除方法:

  • macOS Sequoia 及更早版本:打开启动台,按住 Option 键直到图标开始晃动,然后点按 App 上的删除按钮。
  • macOS Tahoe(用“App”视图取代了启动台):在访达中打开“应用程序”文件夹,将 App 移到废纸篓(可能需要输入密码)。
  • 所有版本通用:系统设置 > 通用 > 储存空间 > 应用程序 (i),选中 App,然后点按删除。

删除后,对应的 Containers 文件夹有时仍会保留。已购买的 App 随时可以从 App Store 的购买记录中免费重新下载。

如果你使用的是家人共享购买的 App,删除它只会影响这台 Mac,不会影响家庭成员的设备或购买记录。

macOS 自带的 App(Safari 浏览器、音乐、照片等)受到签名系统宗卷的保护,无法删除,这是有意为之的设计。

用重置代替卸载

一个启动就崩溃或行为异常的 App,并不一定需要删除。很多时候,问题出在它的偏好设置或缓存已损坏。重置 App 就是在保留 App 本身的前提下移除这些数据,让它像第一次使用那样重新开始。

手动操作时,先退出 App,然后把 ~/Library/Preferences 中它的 .plist 文件和 ~/Library/Caches 中它的文件夹移到废纸篓。如果要更彻底,还可以处理它在 Application Support 或 Containers 中的文件夹,但要注意:你的文稿、资源库或已配置的账户有时就存放在那里。操作之前请先备份。

用 MacNeat 的 Catalogue 卸载

Catalogue 模块会自动完成上述查找,并在执行之前把所有内容展示给你:

  • 完整卸载器:选中一个 App,MacNeat 会查找相关文件(支持数据、缓存、偏好设置、容器、代理程序),并列出将随 App 一起删除的项目。你可以取消勾选想保留的内容。
  • 残留文件:这个标签页列出标识符与任何已安装 App 都不匹配的文件。如果某些文件属于仍在 Mac 上有其他 App 的开发者,会被标记为“待检查”,以免误伤其他 App。
  • 重置 App:在保留 App 的同时清空其数据。
  • 清单:大小、上次打开时间、来源(App Store、Homebrew、直接下载),以及只支持 Intel、依赖 Rosetta 运行的 App。

所有内容都会移到废纸篓,每次卸载都有记录并可撤销。对于由管理员安装的 App,macOS 会要求授权。

常见问题

App 残留会拖慢 Mac 吗?
偏好设置和缓存文件不会,它们只是占用空间。但被遗忘的启动代理和扩展可能会在启动时消耗系统资源。
可以删除整个“资源库”文件夹吗?
绝对不行。里面有你的设置、邮件、App 密码以及所有 App 的数据。只删除明确属于已卸载 App 的项目。
为什么有些 App 无法删除?
macOS 自带的 App 位于只读的系统宗卷上。对于其他 App,如果提示“正在使用中”,说明它还有进程在运行:退出它或重新启动即可。
重新安装 App 之前需要先卸载吗?
通常不需要,新版本会替换旧版本。如果 App 本身出了问题,可以同时删除它的偏好设置和缓存,从头开始。
删除 App 后,订阅会怎样?
订阅会继续。请在 App Store(你的账户 > 订阅)或开发者处取消。删除 App 不会停止任何扣费。
MacNeat 会误删 App 吗?
MacNeat 只卸载你选中的 App,会在执行前显示涉及的文件,并通过废纸篓删除。你可以撤销上一次操作,或从废纸篓中把文件放回原处。