缓存文件损坏会导致插件更新卡死或报错,需彻底清理package control.cache目录下所有缓存文件并重启后手动执行synchronize packages同步;残留.tmp或upgrade_等临时文件也会拖慢编辑器响应,须一并清理。

缓存文件损坏会导致插件更新卡死或报错
Package Control 的缓存不是“越积越多越快”,而是损坏后会持续干扰后续所有操作:channel_v3.json 文件若为空、过期或校验失败,就会让 Package Control: Install Package 显示 “There are no packages”,甚至导致 plugin_host 加载异常——它不报错,只是安静地不加载任何插件。
常见现象包括:命令面板搜不到刚装的插件、Ctrl+Shift+P 里没插件命令、控制台无 reloading plugin xxx 日志、执行 Package Control: Synchronize Packages 后状态栏卡在 “Synchronizing…” 不动。
- 损坏缓存通常发生在网络中断、手动删包、升级失败或磁盘写入异常时
- 缓存路径统一在
Packages/User/Package Control.cache/目录下,不是Cache/或Installed Packages/ - 只删
channel_v3.json不够,必须连带删掉同目录下的channel_v3.json.last-modified和所有*.cache文件
手动清理缓存前必须关闭 Sublime Text
Sublime 在运行时会锁定缓存文件,强行删除可能触发权限错误或留下半状态文件。尤其 macOS 上,即使你用 Finder 删除了 channel_v3.json,系统可能仍在后台重建它。
正确流程是:
- 先按
Ctrl + `打开控制台,确认没有正在执行的同步任务(右下角状态栏无进度提示) - 菜单 →
File → Exit(Windows/Linux)或Sublime Text → Quit Sublime Text(macOS),彻底退出进程 - 打开
Preferences → Browse Packages…,向上退一级进入User目录,再进Package Control.cache/ - 删除该文件夹内全部内容(不是删文件夹本身),保留空文件夹
清理后必须强制同步,不能只靠重启
清空缓存只是“擦黑板”,不等于自动重写内容。Sublime 不会在启动时主动拉取新 channel,必须人工触发一次完整同步,否则仍显示空列表或旧错误。
操作步骤:
- 重新启动 Sublime Text
- 按
Ctrl + Shift + P(Win/Linux)或Cmd + Shift + P(macOS)调出命令面板 - 输入
Package Control: Synchronize Packages并回车(注意不是Install Package或Upgrade Package) - 等待右下角出现
Finished synchronizing packages—— 这一步成功才代表缓存已重建
如果同步失败,控制台会输出类似 URLError: <urlopen error name or service not known></urlopen>,说明问题不在缓存,而是 DNS、代理或 hosts 配置层面。
残留 .tmp 或 upgrade_ 文件会拖慢后续更新
Package Control 更新失败时,常在 Packages/ 根目录下留下未清理的临时文件,比如 Emmet.sublime-package.tmp 或 upgrade_Emmet_1234567890。这些文件不会被自动清理,下次启动时仍会被扫描、校验、甚至尝试续传,直接拖慢 Ctrl+P 响应、语法高亮加载和保存速度。
检查并清理方法:
- 关闭 Sublime Text
- 进入
Packages/目录(Preferences → Browse Packages…) - 删除所有以
.tmp结尾的文件,以及名称含upgrade_、pending_、installing_的文件或文件夹 - 检查是否存在同名的
.sublime-package和解压文件夹共存(如Emmet.sublime-package和Emmet/),删掉前者,只留后者
这类残留比缓存损坏更隐蔽,往往要等你发现 Ctrl+S 卡顿 1–2 秒,才意识到问题不在代码,而在编辑器自己没卸干净货。











