根本原因是Sublime Text的Package Control内置urllib下载器在新版系统或代理环境下无法正确处理HTTPS证书验证或被防火墙拦截;需手动更新至v4.0.0+版本,并配置http_proxy、https_proxy或ssl_verification等设置。

Package Control 显示“Unable to download package”
根本原因通常是 Sublime Text 的 Package Control 插件内置的下载器(urllib)在新版系统或代理环境下无法正确处理 HTTPS 证书验证,或被防火墙拦截。不是插件本身坏了,而是网络通道不通。
- 常见错误信息:
Unable to download package. URL error: - 触发场景:macOS 12+ / Windows 10/11 更新后、公司内网、开了代理但未配置 Sublime、使用了自签名证书环境
- 不要尝试删掉
Package Control.sublime-package文件再重装——这只会让问题更难恢复
手动更新 Package Control 到最新 release 版本
官方已放弃旧版兼容,必须升级到支持现代 TLS 和证书链的版本(v4.0.0+)。手动更新是最稳妥的绕过自动更新失败的方法。
- 关闭 Sublime Text
- 进入 Packages 目录:
– macOS:~/Library/Application Support/Sublime Text/Packages/
– Windows:%APPDATA%\Sublime Text\Packages\
– Linux:~/.config/sublime-text/Packages/ - 删除现有
Package Control文件夹(不是Package Control.sublime-package) - 访问
https://packagecontrol.io/installation,复制页面中「Manual Installation」区块下的 Python 安装命令(形如import urllib.request,os,ssl; ...) - 打开 Sublime Text → View → Show Console,粘贴并回车执行
import urllib.request,os,ssl; exec(urllib.request.urlopen('https://packagecontrol.io/submit_installation.py').read().decode('utf-8'))
更新后仍无法安装/升级插件?检查证书与代理设置
即使 Package Control 本身更新成功,插件下载仍可能失败——因为它的 HTTP 请求走的是 Sublime 自带的 Python 环境,不继承系统 curl 或浏览器证书。
- 确认是否启用了代理:如果全局开了代理(如 Clash、Charles),需在 Sublime 中显式配置:
– Preferences → Package Settings → Package Control → Settings – User
– 加入:"http_proxy": "http://127.0.0.1:7890", "https_proxy": "http://127.0.0.1:7890"(端口按实际改) - macOS 用户特别注意:系统钥匙串里可能缺少根证书,可运行
/Applications/Sublime Text.app/Contents/MacOS/subl --version查看内置 Python 版本,再用openssl s_client -connect packagecontrol.io:443测试握手是否成功 - 临时绕过证书验证(仅调试用,不推荐长期开启):
在Package Control → Settings – User中添加:"ssl_verification": false
插件更新卡在 “Installing …” 或无响应
这不是网络问题,而是 Package Control 的同步锁机制被异常中断,导致 Package Control.cache 文件损坏或残留锁文件。
- 关闭 Sublime Text
- 删除缓存目录:
– macOS:~/Library/Caches/Sublime Text/Package Control.cache/
– Windows:%LOCALAPPDATA%\Sublime Text\Cache\Package Control.cache\ - 检查 Packages 目录下是否存在
000_package_control_loader.sublime-package—— 如果存在且时间很老(比如 2020 年),说明加载器没更新,需重新执行控制台安装命令 - 重启后先等 10 秒再打开 Command Palette,避免因索引未就绪误判为失败
Package Control → Settings – User 里的 ssl_verification 和 http_proxy 是否生效。










