如何在 Mac 上卸载 CaskHub
先记下要留的 Homebrew 设置,再退出 CaskHub。本篇以 Mac 下载版为主,Homebrew 渠道在下文单列。
退出并移除 App
保留 Homebrew 和单独安装的 cask,卸载图形界面不需要把它管理的软件一起删掉。
从 CaskHub 的退出入口关闭 App。打开系统设置 › 通用 › 登录项与扩展,如果有属于 CaskHub 的登录项,关闭它。完成备份后,在访达把 /Applications/CaskHub.app 移到废纸篓,先留着废纸篓,确认需要的数据已保存。
项目说明。
检查本地数据
在访达按 Shift + Command + G,逐条打开完整路径,先把要留的内容复制到其他目录,再决定是否把这一项移到废纸篓。下面包含实测记录和当前 Homebrew cask 的目标,某个路径不存在时不用创建它,带 * 的条目是匹配范围,需要逐个检查实际文件,不是一个字面文件名。
| 位置 | 内容与处理 |
|---|---|
~/Library/HTTPStorages/com.mag.caskhub.binarycookies |
缓存、日志或网页状态,退出 App 后可按需移走 |
~/Library/Preferences/com.mag.caskhub.plist |
偏好设置,要恢复设置时保留 |
~/Library/Caches/CaskHub |
缓存、日志或网页状态,退出 App 后可按需移走 |
~/Library/Caches/com.mag.caskhub |
缓存、日志或网页状态,退出 App 后可按需移走 |
~/Library/Caches/SentryCrash/CaskHub |
缓存、日志或网页状态,退出 App 后可按需移走 |
~/Library/HTTPStorages/com.mag.caskhub |
缓存、日志或网页状态,退出 App 后可按需移走 |
~/Library/Application Support/CaskHub |
本地数据或设置,先备份,再决定是否移走 |
~/Library/Application Support/com.mag.caskhub |
本地数据或设置,先备份,再决定是否移走 |
用 Homebrew 安装时
先卸载而不执行 zap。
brew uninstall --cask caskhub
这条命令移除 cask 管理的 App,不会执行上面的 zap 数据清单。
直接执行下面的命令会按 cask 的整个 zap 清单删除数据,不会读取 Mole 的勾选状态。只有备份并确认这些目标都可以移除时才用。
brew uninstall --cask --zap caskhub
当前 zap 目标为 ~/Library/Application Support/CaskHub、~/Library/Application Support/com.mag.caskhub、~/Library/Caches/CaskHub、~/Library/Caches/com.mag.caskhub、~/Library/Caches/SentryCrash/CaskHub、~/Library/HTTPStorages/com.mag.caskhub、~/Library/HTTPStorages/com.mag.caskhub.binarycookies、~/Library/Preferences/com.mag.caskhub.plist。
组目录、容器和支持目录可能含要保留的数据,保留其中任一项时使用不带 zap 的命令。当前 cask。
检查结果
ls -ld '/Applications/CaskHub.app'
pgrep -ifl '/Applications/CaskHub[.]app/'
列出 App 路径表示本体仍在,No such file or directory 表示这个路径不在,Permission denied 则没有完成检查。此命令只检查本体所在位置,不证明其他位置没有副本、后台服务或用户数据。
pgrep 列出结果表示仍有命令行匹配这个 App 路径的进程,没有输出只表示没有这种匹配,不能证明独立助手或其他安装副本都已退出,报错时这一步未确认。
Mole 会列出什么
~/Library/Preferences/com.mag.caskhub.plist默认勾选。~/Library/Caches/CaskHub默认勾选。~/Library/Caches/com.mag.caskhub默认勾选。
这些默认状态以关闭「卸载时一并移除数据和配置」为准,这个选项默认关闭,开启后会勾选符合条件的待确认 App 数据,共享数据和受保护项目仍按原有边界单独确认。Mole 只有在整个 zap 范围通过检查时才会调用 Homebrew zap,未勾选项、共享路径、超出审查范围的路径或无法支持的指令都会阻止 zap,已选残留仍走 Mole 自己的删除流程。
这次检查覆盖了什么
卸载使用源码构建的 Mole,首启扫描只覆盖部分路径,不证明应用可能生成的全部文件。
用 Mole 启动并卸载了官方下载的 App,所选审查路径卸后不在,Homebrew 管理的已有安装不在测试范围。
