Package Control 默认不自动升级插件,需手动设置 "auto_upgrade": true 并重启才能启用静默升级;它仅在启动后60–120秒检查一次,受网络、插件源配置及弃用状态影响。

如何让 Package Control 自动升级插件?
Package Control 默认**不会自动升级插件**,它只在你手动执行 Upgrade Package 时才检查更新。所谓“自动升级”,其实是通过配置 auto_upgrade 开关 + 定期后台检查实现的静默行为——但这个功能默认是关闭的。
- 打开
Preferences → Settings,编辑右侧用户设置 - 添加一行:
"auto_upgrade": true(注意:不是true加引号的字符串,而是 JSON 布尔值) - 保存后重启 Sublime Text,下次启动时会自动检查所有已安装插件是否有更新
- 更新成功后,插件新版本立即生效;部分插件(如 LSP 客户端)可能需要重启 Sublime 才完全加载
为什么开了 auto_upgrade 却没反应?
常见原因不是配置错了,而是触发时机或网络策略卡住了:
-
auto_upgrade只在 Sublime 启动后约 60–120 秒内触发一次检查,不是实时轮询——刚开软件就等弹窗,大概率扑空 - 若插件源(如 GitHub)被拦截、DNS 解析失败,或本地 hosts 屏蔽了
github.com/packagecontrol.io,检查会静默失败,无日志提示 - 某些插件(比如自建仓库或私有 package)未在
package_control_channel.json中声明更新地址,auto_upgrade对其完全无效 - Sublime Text 4.4+ 在启用
auto_upgrade时,会跳过“已标记为 deprecated”的插件,即使有新版也不升
怎么确认插件是否真被自动升级了?
别信状态栏小字,要看实际行为和日志:
- 打开
Tools → Developer → Show Console,启动后留意输出中是否出现Upgrading package: XXX或Successfully upgraded XXX - 检查插件目录:
Sublime Text/Packages/XXX/下的package-metadata.json文件里"version"字段是否变化 - 运行
Package Control: List Packages命令,对比列表中插件名旁显示的版本号与官网发布页是否一致 - 如果某插件长期不升级,可临时禁用
auto_upgrade,改用Package Control: Upgrade Package手动触发,看是否报错(常暴露证书或代理问题)
要不要关掉自动升级?什么情况下必须关?
自动升级不是“越新越好”。生产环境、CI 脚本、或依赖特定插件行为的 workflow,建议关掉:
- 设
"auto_upgrade": false是最直接方式,比删缓存或改 hosts 更干净 - 尤其当插件大版本变更(如 Emmet 3.x → 4.x)引入不兼容语法、或 LSP 插件升级后服务端协议不匹配,会导致编辑器卡顿甚至崩溃
- 公司内网或离线机器上,
auto_upgrade: true会持续尝试连接外网,拖慢启动速度,且无法降级回退 - 如果你习惯用
git clone方式管理插件(放在Packages/User/外部路径),auto_upgrade根本不识别它们——留着只会制造假期待
真正容易被忽略的是:即使关了 auto_upgrade,Package Control 仍会在每次启动时悄悄拉取 channel 文件(https://packagecontrol.io/channel_v3.json),只是不执行升级动作。如需彻底断联,得配合 hosts 屏蔽或使用离线 channel 配置。










