Package Control 无法连接网络主因是 DNS 解析失败、SSL 握手卡住或 channel_v3.json 地址不可达;ST3(≥3176)须用匹配哈希值的 urllib.request 脚本,配置 Gitee 镜像地址并显式设置 http_proxy/https_proxy,保存后必须重启。

Package Control 无法连接网络,不是插件坏了,也不是你操作错了——它根本没发出有效请求。90% 是 DNS 解析失败、SSL 握手卡住或 channel_v3.json 地址压根打不开。ST3(Build ≥ 3176)能跑,但必须用匹配的脚本和镜像,否则控制台只报 URLError 或静默失败。
确认 ST3 版本并用对安装脚本
按 Ctrl + ` 打开控制台,执行:print(sublime.version())
返回 3xxx 才是 ST3。若显示 4xxx 却用了 ST3 脚本,会立刻报 NameError: name 'urllib2' is not defined。
- ST3(Build ≥ 3176)必须用含
urllib.request的脚本,哈希值要与官网当前一致(例如h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0') - 粘贴前检查:无中文引号、无换行、无空格;执行后必须看到
Success,否则文件没写入 - 别用旧博客里抄的脚本——哈希过期、域名写成
http://(应为https://)、路径漏掉/raw/master/都会导致失败
替换 channels 地址为 Gitee 镜像(关键一步)
装上 Package Control ≠ 能装插件。“There are no packages available” 是最常见假成功现象,本质是 channels 字段仍指向不可达的 https://packagecontrol.io/channel_v3.json。
- 打开
Preferences → Package Settings → Package Control → Settings – User - 填入完整 JSON(注意双引号、无注释、末尾无逗号):
{ "channels": [ "https://gitee.com/akira-cn/package_control_channel/raw/master/channel_v3.json" ] } - 浏览器直接访问该 URL,必须能返回一整页 JSON 内容才算有效;用
/channel.json或失效镜像(如 php.cn)会白配 - 保存后必须重启 Sublime Text,设置不热重载
手动配置代理(Clash/Surge 用户必做)
Sublime Text 不继承系统代理,开了 Clash 也等于没开——http_proxy 和 https_proxy 必须显式写进配置,且格式硬性要求严格。
- 在
Settings – User中加这两行(端口按你实际代理工具调整,Clash 默认7890):"http_proxy": "http://127.0.0.1:7890""https_proxy": "http://127.0.0.1:7890" - 协议必须是
http://,哪怕目标是 HTTPS 站点;https://开头会静默失效 - SOCKS5 地址(如
127.0.0.1:1080)不支持,需在 Clash/Surge 中启用 HTTP 代理模式 - 控制台执行
import urllib.request; urllib.request.urlopen('https://packagecontrol.io').getcode(),返回200才算真正通了
hosts 绑定 + 清缓存(兜底手段)
如果镜像和代理都设了还失败,大概率是本地 DNS 污染或旧缓存卡死。
- 查最新 IP:
nslookup packagecontrol.io 114.114.114.114(绕过本地缓存),选响应快的 IP(如104.20.151.17) - 编辑系统
hosts文件(Windows 在C:\Windows\System32\drivers\etc\hosts,macOS/Linux 在/etc/hosts),追加:104.20.151.17 packagecontrol.io - 彻底退出 Sublime(macOS 注意菜单栏「退出」,不只是关窗口)
- 删掉这两个位置的残留:
–Installed Packages/Package Control.sublime-package
–Packages/Package Control/文件夹(如果存在)
ST3 的坑在于:它不报错,只沉默。看到 “Installing…” 卡住、控制台无输出、插件列表空白——这些都不是等待问题,而是配置根本没生效。重点盯住 channels 地址能否浏览器直访、http_proxy 格式是否全小写且协议正确、重启是否彻底。











