如何在 Mac 上卸载 ImageOptim
卸载 ImageOptim 前,先确认要保留的图片和原图。官方帮助说明,优化会覆盖原文件,旧版本会放进废纸篓,删除应用不会撤销这些改动,清空废纸篓前先找回需要的原图。本文覆盖官网下载的 Mac 版和 Homebrew cask imageoptim。
等待优化完成后退出
等当前图片队列处理完,按 Command + Q 退出 ImageOptim,再将「应用程序」里的 ImageOptim.app 移到废纸篓。如果 macOS 提示应用仍在使用,先到活动监视器里检查并退出它。
ImageOptim 的访达扩展和主窗口是两回事,如果扩展仍启用,到「系统设置 › 通用 › 登录项与扩展」里关闭对应项,不要为了移除一个扩展而删除整个 ~/Library/Containers。
检查自己的缓存和偏好设置
在访达中按 Shift + Command + G,逐个查看下面的位置,这些路径来自 Homebrew cask,并非厂商的卸载文档。找不到某个路径,可能只是这份应用没有创建它。
| 位置 | 保留或删除 |
|---|---|
| ~/Library/Caches/ImageOptimResults.db | ImageOptim 的缓存条目,退出后检查,不再需要其中状态时再删除。 |
| ~/Library/Caches/net.pornel.ImageOptim | 应用自己的缓存,退出后可以移到废纸篓。 |
| ~/Library/Preferences/net.pornel.ImageOptim.plist | 偏好设置,准备重装时可保留,想从默认设置开始时再删除。 |
| ~/Library/Saved Application State/net.pornel.ImageOptim.savedState | 应用保存的窗口状态,不想恢复旧状态时可以删除。 |
保留自己的图片目录,记录中的卸载还遇到了受保护的 App Group 和 macOS 拒绝移除的扩展容器,这些情况都不需要手动删除共享的父目录。
检查卸载结果
pgrep -il ImageOptim
ls -d /Applications/ImageOptim.app "$HOME/Library/Caches/net.pornel.ImageOptim" "$HOME/Library/Preferences/net.pornel.ImageOptim.plist"
pgrep 没有输出,表示没有名称匹配的进程在运行,有输出时回到活动监视器检查。ls 打印哪个路径,哪个位置就还在,提示找不到文件表示该路径已不存在,权限错误则无法判断,这些检查不涉及图片内容,也不能证明访达扩展已移除。
用 Homebrew 安装时
不执行 zap 清单的卸载命令是:
brew uninstall --cask imageoptim
cask 的 zap 清单包含上面的四个位置,自己执行 brew uninstall --cask --zap imageoptim 会一并删除其中的本地状态,不读取 Mole 的勾选结果,清单不包含你的图片目录。
Mole 会先核对 Homebrew 的整份删除清单,涉及未勾选的数据、共享文件或无法确认的内容时跳过 --zap,已勾选的残留仍由 Mole 清理。
Mole 会列出什么
存在时,ImageOptim 自己的 bundle 标识缓存、偏好设置、HTTP 存储和窗口状态默认勾选,仅通过 cask 找到的额外路径,例如 ImageOptimResults.db,会留待确认。卸载时一并移除数据和配置关闭时,这些待确认项不勾选,打开后可自动勾选符合条件的应用数据,删除前以实际勾选状态为准。
App Group 条目仍要单独确认归属,不由这个数据选项自动勾选,扩展容器也可能被 macOS 拒绝移除,Mole 的卸载清单不包含你优化过的图片。
这次检查覆盖了什么
2026 年 9 月 21 日,将官网包里的 ImageOptim 1.9.3 拷到「应用程序」,打开后执行卸载,没有 Homebrew 收据。应用、自己的缓存、HTTP 存储和脚本进入了废纸篓,App Group 被保护,扩展容器被 macOS 拒绝移除,这次检查没有验证扩展全部移除,也没有验证优化过的图片恢复。
