ssl: certificate_verify_failed根本原因是sublime内置python根证书过旧(缺isrg root x1等新证书)或系统时间误差超±5分钟,需检查ssl.get_default_verify_paths()路径、校准时间、替换packages/package control/certifi/cacert.pem为最新证书文件,并在企业环境追加私有ca证书。

SSL: CERTIFICATE_VERIFY_FAILED 不是网络不通,是 Sublime 内置 Python 用的根证书太老——缺 ISRG Root X1 这类 2024 年后广泛部署的证书,或系统时间误差超过 ±5 分钟。
确认是不是证书或时间问题
打开控制台(Ctrl + `),看到第一行报错含 SSL: CERTIFICATE_VERIFY_FAILED,就基本锁定在这两类原因。别急着删插件或关验证,先做两件事:
- 在控制台执行
import ssl; print(ssl.get_default_verify_paths()),看输出路径里有没有Packages/Package Control/certifi/cacert.pem - 检查系统时间:Windows 右键任务栏时间 → “调整日期/时间”;macOS 进“系统设置 → 通用 → 日期与时间”,确保勾选“自动设置时间”
- macOS 用户额外检查钥匙串:搜索
ISRG Root X1,双击证书 → 展开“信任” → 把“使用此证书时”设为“始终信任”
手动替换 cacert.pem 文件
Sublime Text 4 默认不自带完整证书包,且不会自动更新。必须手动换:
- 关闭 Sublime Text 全进程(Windows 任务栏右键选 Exit;macOS Dock 右键 Quit)
- Preferences → Browse Packages…,进入
Packages/Package Control/ - 若没有
certifi/目录,手动创建;再把最新cacert.pem放进去(从 这个链接 下载,注意后缀必须是.pem,不是.pem.txt) - 确认用户配置中
"ssl_verification": true(默认就是 true,不用改) - 重启 Sublime,再试
Package Control: Install Package
企业网络或 HTTPS 解密代理环境下怎么办
杀软(如火绒、360)、公司上网行为管理设备常会静默劫持 HTTPS 请求,导致证书链断裂:
- 临时验证是否是代理问题:在控制台执行
import ssl; ssl._create_default_https_context = ssl._create_unverified_context,再运行安装命令;成功说明是中间人拦截 - 长期方案不是关验证,而是把企业私有根证书追加进
cacert.pem:导出内网 CA 证书(.crt),用文本编辑器打开cacert.pem,把证书内容(包括-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----)粘贴到底部 - 某些环境需额外配代理:在
Package Control → Settings – User中加"http_proxy"和"https_proxy"字段,值为"http://127.0.0.1:8080"这类格式
别碰 "ssl_verification": false
这个配置能绕过报错,但会让所有插件下载、更新都走明文通道,等于把凭证和包内容暴露给局域网任意节点。它解决不了根本问题,反而掩盖真实风险。尤其在办公网或公共 Wi-Fi 下,禁用验证比装不上插件更危险。
真正要盯住的只有三处:系统时间是否准、cacert.pem 是否最新、企业证书是否已合并。其他任何“一键修复”脚本或第三方证书包,只要没明确告诉你来源和哈希值,都不要直接覆盖。











