atom插件卸载后残留文件是设计使然,apm uninstall仅删除~/.atom/packages/下主目录,而~/.atom/storage/、~/.atom/.apm/和config.cson中的配置项需手动清理。

Atom插件卸载后残留文件不自动清理是设计使然,不是 bug。apm uninstall 只删 ~/.atom/packages/ 下的主目录,其他路径里的配置、缓存、状态数据全靠手动清。
为什么禁用 ≠ 卸载,且卸载后还有残留
禁用插件只是在 config.cson 里把包名加进 core: { disabledPackages: [...] },插件代码仍完整保留在 ~/.atom/packages/;而卸载虽会删该目录下的文件夹,但 Atom 不管以下三处:
-
~/.atom/storage/:存插件运行时状态(如窗口位置、折叠状态),用 LevelDB 格式,卸载不碰它 -
~/.atom/.apm/:APM 缓存的 tarball 和 node_modules,可能含已卸载插件的旧依赖 -
~/.atom/config.cson:即使卸载了,disabledPackages或插件专属配置项(如file-types)仍留着,下次启动可能触发加载失败
apm uninstall 失败或目录残留的三大卡点
执行 apm uninstall package-name 报错或删不干净,基本逃不开这三种情况:
- EACCES 权限错误:macOS/Linux 下
~/.atom/所有权被改过(比如误用sudo apm install),修复命令是sudo chown -R $USER ~/.atom - Atom 进程占用:哪怕只开一个窗口,
~/.atom/storage就被锁死,必须关掉所有 Atom 进程;macOS 补一句killall Atom,Windows 任务管理器结束全部atom.exe - 网络或 registry 故障导致 apm 卡住:直接跳过 apm,手动删
~/.atom/packages/package-name,再删config.cson中对应条目
彻底清理残留的三个关键路径
卸载完别急着重启,按顺序清理这三个地方才真正“干净”:
- 删插件主目录:
rm -rf ~/.atom/packages/package-name(Windows 用 PowerShell:Remove-Item -Recurse -Force "$env:USERPROFILE\.atom\packages\package-name") - 清存储状态:
rm -rf ~/.atom/storage/package-name*(注意带*,因为实际目录名可能是package-name-123abc) - 修配置文件:用文本编辑器打开
~/.atom/config.cson(确保 Atom 已关闭),搜索package-name,删掉disabledPackages里的它,以及任何以它为 key 的区块(如"package-name": { ... })
容易被忽略的 GPU 缓存和 compile-cache
如果卸载后 Atom 启动变慢、语法高亮错乱、甚至报 Cannot find module,问题可能不在插件本身,而在两层缓存:
-
~/.atom/compile-cache:存 CoffeeScript/JS 插件编译后的字节码,Atom 升级或插件更新后极易污染,直接删整个目录即可 - Electron GPU 缓存:藏在
~/Library/Caches/com.github.atom/(macOS)或%LOCALAPPDATA%\atom\Cache(Windows),关硬件加速(Settings → Core → Use Hardware Acceleration)能绕过,但最彻底是删 Cache 目录
这些缓存不和插件绑定,但插件卸载后它们没刷新,就会拖累整个编辑器——尤其当你反复装/卸同一类插件(比如多个 Python runner)时,最容易暴露。











