Sublime Text 3插件SSL验证失败主因是内置Python证书过期或系统时间误差超5分钟,需校准时间、替换Packages/Package Control/certifi/cacert.pem为最新证书,并更换channel为国内镜像,三者均须重启生效。

Sublime Text 3 安装插件时出现 SSL: CERTIFICATE_VERIFY_FAILED,基本不是插件问题,而是它内置的 Python 2.7 环境证书过期或系统时间不准——直接关掉 ssl_verification 能跳过报错,但后续更新、签名验证全会断,得换真证书。
校准系统时间再检查证书路径
误差超过 5 分钟就会触发 SSL 验证失败,先同步系统时间(Windows 右键任务栏时间 → “调整日期/时间” → 开启“自动设置时间”;macOS 进“系统设置 → 通用 → 日期与时间”并勾选“自动设置时间”)。
然后按 Preferences → Browse Packages… 打开目录,确认是否存在以下路径:
-
Packages/Package Control/certifi/cacert.pem(ST3 默认路径) - 若该文件不存在,说明证书包根本没初始化,需手动创建目录并放入证书
别指望 Sublime 自己生成或下载它——这个文件必须由你提供。
替换 cacert.pem 是唯一可靠解法
ST3 内置的证书库极老,不包含 Let’s Encrypt 新根证书(如 ISRG Root X1),访问 packagecontrol.io 必然失败。
操作步骤:
- 从 https://www.php.cn/link/04c165998a3bfee2c2b46a8d8840dacc 下载最新
cacert.pem - 关闭 Sublime Text
- 把下载的文件覆盖到
Packages/Package Control/certifi/cacert.pem - 确保用户配置中
"ssl_verification": true(默认就是 true,不用改) - 重启 Sublime
注意:别用系统自带的 curl-ca-bundle.crt 或自己导出的单个证书,必须是完整 PEM 格式的根证书包。
换 channel 地址避免 HTTPS 请求卡死
"There are no packages available" 不是插件没了,是 ST3 的 channels 地址加载失败——原地址 https://packagecontrol.io/channel_v3.json 在国内多数无法直连。
修改方式:
- 菜单 →
Preferences → Package Settings → Package Control → Settings – User - 填入有效镜像(2026 年仍可用):
{ "channels": [ "https://gitee.com/azl397985856/package_control_channel/raw/master/channel_v3.json" ] } - 必须重启 Sublime,否则缓存仍走旧地址
浏览器里粘贴这个 URL 能看到 JSON 内容才算生效;如果返回 404,说明镜像已失效,得换其他 Gitee 用户维护的 channel。
依赖模块缺失会导致插件“装了却无效”
插件命令面板搜不到、快捷键无响应、控制台刷 ImportError: No module named 'mdpopups',这不是安装失败,是插件依赖没装上。
ST3 的 Python 环境完全隔离,pip install 无效,必须用 Package Control 单独装:
- 按
Ctrl+Shift+P→ 输入Package Control: Install Package - 分别搜索并安装插件明确依赖的模块名,例如:
mdpopups、python-markdown、jinja2 - 某些插件(如旧版 Emmet)还依赖已废弃的
PyV8,应避开,改用官方推荐替代方案
手动解压安装插件时,务必确认文件夹名和插件名完全一致(比如 SideBarEnhancements,不能是 SideBarEnhancements-master),且直接放在 Packages/ 根目录下,不嵌套子目录。
最易被忽略的是:证书替换后不重启、channel 改完不重启、依赖模块没单独装——三者任一遗漏,都会让问题看起来“修了但没完全修”。


















