# 如何彻底卸载 Mac App，连同残留文件一起清除

> 把 App 拖到废纸篓后，它的数据仍留在“资源库”文件夹中。残留文件在哪里、该用哪些卸载程序，以及哪些内容绝不能手动删除。

- URL: https://moreroom.app/zh-Hans/learn/uninstall-mac-apps-completely
- Published: 2026-10-17
- Updated: 2026-10-17
- Publisher: MoreRoom (Yando Pte. Ltd.) — https://moreroom.app

## TL;DR

- 把 App 拖到废纸篓只会移除 App 本身，它的设置、缓存和数据仍留在“资源库”文件夹中，往往比 App 本身大得多。
- 如果 App 自带卸载程序（例如 Adobe、Microsoft 和 Docker 的 App），请优先使用：它还会移除辅助程序、登录项和后台服务。
- 残留文件位于 ~/Library/Application Support、Caches、Containers、Group Containers 和 Preferences 等文件夹中，通常以 App 名称或其 Bundle ID 命名。
- 只移除明确属于已卸载 App 的残留文件，把它们移到废纸篓而不是直接删除，并且绝不要碰 Apple 自己的文件夹。
- 要修复运行异常的 App，往往不必卸载；重置它的偏好设置或使用其内置的重置功能就够了。

把 App 拖到废纸篓会移除 App，但不会移除它创建的数据。设置、缓存、下载的内容和后台辅助程序都会留在“资源库”文件夹中，有时占用的空间比 App 本身还多。要彻底卸载：如果 App 自带卸载程序，就使用它；否则先把 App 移到废纸篓，再移除明确属于它的残留文件。

## 第一步：App 本身

![决策流程：如果 App 自带卸载程序就使用它；否则把 App 拖到废纸篓，移除与其 Bundle ID 匹配的残留文件，然后检查登录项](https://moreroom.app/learn/img/uninstall-mac-apps-completely-flow.svg)

**来自 Mac App Store 的 App**。在访达中打开“**应用程序**”，把 App 拖到废纸篓，或者选中它后按下 Command-Delete。在 macOS Sequoia 及更早版本中，你也可以打开启动台，按住 Option 键直到图标开始晃动，然后点按删除按钮。macOS Tahoe 用新的“App”界面取代了启动台，而它不提供这个操作，所以请使用访达。

**自带卸载程序的 App**。Apple 的[在 Mac 上删除或卸载 App](https://support.apple.com/zh-cn/102610)建议先检查有没有卸载程序，因为它还会移除登录项、扩展以及储存在其他位置的数据。常见的例子：

- **Adobe** 的 App：从 Creative Cloud 桌面 App 中卸载。
- **Microsoft 365**：按照[卸载 Mac 版 Office](https://support.microsoft.com/en-us/office/uninstall-office-for-mac-eefa1199-5b58-43af-8a3d-b73dc1a8cae3)操作。其中包括移除 Group Containers 中的 `UBF8T346G9.*` 文件夹；请先备份 Outlook 数据。
- **Docker Desktop**：在控制面板中选取 **Troubleshoot › Uninstall**，或者运行 `/Applications/Docker.app/Contents/MacOS/uninstall`，然后把 App 移到废纸篓。这会删除你的容器、镜像和卷。参见 [Docker 的说明](https://docs.docker.com/desktop/uninstall/)。
- **安全工具、VPN、驱动程序和音频插件**通常会安装系统扩展；请始终使用厂商提供的卸载程序。

**其他所有 App**。记下它的 Bundle ID（见下文），退出 App，然后把它拖到废纸篓。在处理完残留文件之前，先不要清倒废纸篓。

你也可以在**系统设置 › 通用 › 储存空间**中删除 App：点按“应用程序”旁边的信息按钮，选择一个 App，然后点按“删除”。

## 残留文件在哪里

App 会把数据存放在固定的位置，通常是以 App 名称（“Slack”）或其 **Bundle ID**（“com.tinyspeck.slackmacgap”）命名的文件夹。要查找 App 的 Bundle ID，请趁 App 还在“应用程序”中时运行以下命令（它只读取信息）：

```sh
osascript -e 'id of app "Example"'
```

![Mac App 的数据存放位置：App 本身在“应用程序”中，用户级残留文件在 ~/Library 中，系统级辅助程序在 /Library 中](https://moreroom.app/learn/img/uninstall-mac-apps-completely-leftovers-map.svg)

| 位置 | 存放的内容 | 卸载后要移除吗？ |
|---|---|---|
| `~/Library/Application Support/<App>` | 数据库、下载内容、插件，往往是最大的部分 | 要，如果你不想保留这些数据 |
| `~/Library/Caches/<bundle ID>` | 可重建的缓存 | 要 |
| `~/Library/Containers/<bundle ID>` | 沙盒 App（大多数 App Store App）的全部数据 | 要，但其中可能有你的文稿 |
| `~/Library/Group Containers/<team ID>.<name>` | 同一系列 App（例如 Office）共享的数据 | 仅当相关 App 都已移除时 |
| `~/Library/Preferences/<bundle ID>.plist` | 设置 | 要 |
| `~/Library/Saved Application State/<bundle ID>.savedState` | 用于重新打开时恢复窗口的状态 | 要 |
| `~/Library/HTTPStorages/<bundle ID>` | Cookie 和网页存储 | 要 |
| `~/Library/WebKit/<bundle ID>` | 网页内容数据 | 要 |
| `~/Library/LaunchAgents/<bundle ID>.*.plist` | 你的账户的后台辅助程序 | 要，之后注销并重新登录 |
| `/Library/LaunchAgents`、`/Library/LaunchDaemons` | 面向所有用户的辅助程序 | 要，需要管理员密码 |
| `/Library/PrivilegedHelperTools` | 特权辅助程序 | 要，连同对应的 LaunchDaemon |

要在“资源库”中搜索某个 App 的名称或 Bundle ID，以下命令会列出匹配项，但不会做任何更改：

```sh
find ~/Library /Library -maxdepth 3 -iname "*example*" 2>/dev/null
```

请逐一检查每个结果。搜索“note”这样的短名称会匹配到很多无关的项目。在访达中把你确定的内容移到废纸篓；在清倒废纸篓之前，这一步都可以撤回。

## 登录项和后台服务

在后台运行的 App 会注册登录项或启动代理。在 macOS Sequoia 及更高版本中，打开**系统设置 › 通用 › 登录项与扩展**（在 Ventura 和 Sonoma 中只叫“**登录项**”）。把这个 App 从“**登录时打开**”中移除，并在“**允许在后台**”下关闭它的条目。如果移除 App 后条目仍在，通常说明上述某个 LaunchAgents 或 LaunchDaemons 文件夹中还残留着 plist 文件。

## 用 .pkg 安装器安装的 App

软件包会留下一份收据，列出它安装了什么。以下命令只读取信息：

```sh
pkgutil --pkgs | grep -i example            # 查找软件包 ID
pkgutil --pkg-info com.example.pkg          # 查看安装位置
pkgutil --files com.example.pkg             # 列出它安装的每个路径
```

`--files` 列出的路径是相对于 `--pkg-info` 显示的位置而言的，通常是 `/`。请小心：这个列表包括 `Library` 和 `usr/local/bin` 等其他软件也在使用的共享目录。只移除明确属于这个 App 的文件，绝不要移除整个共享文件夹，也绝不要动 `/System` 或 `/usr` 下 `/usr/local` 以外的任何内容。`pkgutil --forget` 只会删除收据，并不会卸载任何东西。

## 哪些内容不要删除

- 任何以 `com.apple.*` 命名的项目，以及“邮件”、“信息”、“照片”、Safari 浏览器、钥匙串和账户的文件夹。
- `~/Library/Mobile Documents` 和 `~/Library/CloudStorage`，它们就是你的云盘。
- 同一开发者的其他 App 仍在使用的 Group Containers。
- 存有你自己创建的文稿的 Containers 或 Application Support 文件夹，除非你另有副本。笔记、游戏和编辑器类 App 常常把你的作品存在那里。
- `/System` 中的任何内容。它受到保护，也不是 App 安装的位置。

## 重置 App，而不是卸载它

如果 App 运行异常，你可能根本不需要移除它。先找找它有没有内置的重置功能，通常在“帮助”或“设置”中。如果没有，请退出 App，然后重置它的偏好设置：

```sh
defaults delete com.example.App
```

这会通过偏好设置系统移除为该 Bundle ID 储存的设置，比手动把 `.plist` 移到废纸篓更安全，因为 macOS 会缓存偏好设置。这一操作无法撤销，所以如果以后可能还需要，请先导出：`defaults export com.example.App ~/Desktop/example-prefs.plist`。沙盒 App 会把偏好设置保存在自己的容器中，`defaults` 会替你处理这一点。如果这样还不够，下一步是把 App 的缓存文件夹移到废纸篓，最后一步才是它的 Application Support 文件夹。

## MoreRoom 能帮上什么忙

MoreRoom 免费版可以**逐个卸载 App，并一并清除残留文件**。它会在上面列出的文件夹（Application Support、Caches、Containers、Group Containers、Preferences、Saved Application State、HTTPStorages、WebKit、LaunchAgents 等）中匹配 App 的 Bundle ID，显示每一项的大小，并允许你取消勾选想保留的项目。所有内容都会先移到废纸篓，并且可以撤销。它在系统级 `/Library` 中找到的项目会显示出来，但留给你用管理员密码自行移除。MoreRoom 不会移除系统扩展或驱动程序；对于安全工具、VPN 和驱动程序，请使用厂商提供的卸载程序。

## FAQ

### 把 App 拖到废纸篓就算卸载了吗？

这会移除 App，对大多数小型 App 来说已经足够。但它的设置、缓存和数据仍留在“资源库”文件夹中，有些 App 还会留下只有其自带卸载程序才能移除的后台辅助程序。

### 如何删除从 App Store 下载的 App？

在访达中把它从“应用程序”拖到废纸篓。在 macOS Sequoia 及更早版本中，也可以在启动台中按住 Option 键并点按删除按钮；macOS Tahoe 用新的“App”界面取代了启动台，所以请改用访达。

### 删除 ~/Library 中的文件夹安全吗？

只有明确属于已移除 App 的文件夹才可以删除。切勿删除 Apple 的文件夹（名称以 com.apple 开头）、钥匙串，以及“邮件”“信息”或“照片”的数据，并且请把项目移到废纸篓，以便需要时恢复。

### pkgutil --forget 有什么作用？

它只会删除 macOS 为某个安装器软件包保存的收据，别的什么都不做。该软件包安装的文件仍留在原处，所以它并不会卸载任何东西。

### 为什么无法把 ~/Library/Containers 中的文件夹移到废纸篓？

macOS 会保护 App 容器。访达可能会请求权限，而“终端”需要在“系统设置”›“隐私与安全性”中获得“完全磁盘访问权限”。请先移除 App，再移除它的容器。
