控制台报urlerror或静默无响应即网络拦截:杀软、企业网、macos sip等会静默阻断sublime的https请求,需用控制台执行urllib测试验证,失败则关杀软、换热点或手动安装,勿盲目改hosts。

控制台报 URLError 或静默无响应,就是网络拦截的典型信号
Package Control 安装卡在 reloading plugin、命令面板搜不到 Install Package、状态栏从不出现 Successfully installed —— 这些都不是“慢”,而是请求被中途掐断。根本不用猜,直接看控制台:按 Ctrl+` 打开,执行安装脚本后若 5 秒内只输出空行或报 URLError: <urlopen error connection timed out></urlopen>、CertificateError,基本可锁定本地网络拦截。
常见拦截点:
- 杀毒软件(火绒、360、腾讯电脑管家)默认静默拦截
sublime_text.exe的 HTTPS 出站请求,不弹窗、不提示,只让 urllib 超时 - 企业/校园网的上网行为管理设备会重置 TLS 握手,导致
ssl.CertificateError,哪怕系统时间准确也无效 - macOS 上的 SIP 或防火墙规则可能拒绝非签名进程访问网络,报
Operation not permitted
用控制台快速验证网络连通性,别靠浏览器
浏览器能打开 https://packagecontrol.io ≠ Sublime 能连上。Sublime 用的是内置 Python 的 urllib.request,走系统底层 socket,不继承浏览器代理或证书信任链。必须在控制台里实测:
粘贴并执行:
import urllib.request
try:
r = urllib.request.urlopen('https://packagecontrol.io', timeout=5)
print(r.getcode())
except Exception as e:
print(e)
输出 200 说明通;输出 URLError、CertificateError 或超时,就确认是 Sublime 自身被拦。此时关杀软、换热点、或切手动安装,别再反复重试脚本。
hosts 文件和 DNS 不是万能解法,反而容易引入新问题
网上流传的改 hosts 映射 packagecontrol.io 到某个 IP,对当前 ST4 已基本失效——它依赖 SNI 和完整 TLS 握手,硬写 IP 会触发证书域名不匹配错误。更稳妥的做法是:
- 先确认你本地 DNS 是否污染:在控制台跑
import socket; socket.gethostbyname('packagecontrol.io'),如果返回异常 IP(比如 127.0.0.1 或私有地址),才需改hosts - 改
hosts必须配对应证书域名,不能只写 IP;否则urllib仍会因 CN 不匹配而报错 - 优先尝试切换 DNS 到
8.8.8.8或1.1.1.1,比手动填 hosts 更干净
手动安装成功后仍 Loading,说明 channel 请求被拦,不是 Package Control 本身问题
装完 Package Control.sublime-package 并重启后,按 Ctrl+Shift+P 输入 Package Control: Install Package 却一直显示 Loading…,这和安装阶段无关,是后续拉取插件列表失败。关键检查点:
- 打开
Preferences → Package Settings → Package Control → Settings – User,确认"channels"是可用镜像地址,例如:"https://gitee.com/azl397985856/package_control_channel/raw/master/channel_v3.json" - 把该 URL 粘到浏览器里打开,能刷出 JSON 才算有效;打不开就换源,别调包路径
- 别漏掉
/raw/master/路径段——Gitee 的 raw 地址必须带这个,少一个斜杠就会 404 - 如果用了代理,
http_proxy和https_proxy必须都设,且协议统一用http://,端口要和 Clash/V2Ray 实际监听端口一致
真正卡住的地方,往往不是“怎么装”,而是“装完之后它往哪去拿列表”。网络拦截在这一步的表现最隐蔽,也最容易误判为插件故障。











