“Connection reset by peer”错误是TCP层被中间设备主动RST所致,非插件崩溃;应先验证浏览器能否访问packagecontrol.io/channel_v3.json和Gitee镜像,再通过改hosts绑定IP、显式配置http_proxy代理、更换channel地址并清除Cache/Package Control/缓存后重启Sublime来解决。

“Connection reset by peer” 错误不是 Package Control 崩溃了,而是它发起的 HTTPS 请求在 TCP 层被主动中断——大概率是中间网络设备(运营商、防火墙、代理)直接 RST 了连接,比超时更暴力。国内直连 packagecontrol.io 和 raw.githubusercontent.com 时非常常见。
确认是不是真被 RST,而不是 DNS 或 SSL 问题
先排除干扰项:打开浏览器,分别访问以下两个地址,看是否能返回内容:
https://packagecontrol.io/channel_v3.jsonhttps://gitee.com/akira-cn/package_control_channel/raw/master/channel_v3.json
如果第一个打不开但第二个能返回 JSON,说明确实是直连被重置;如果两个都打不开,问题可能在 DNS 或本地网络策略。别跳过这步,很多人误把 DNS 污染当成 RST。
改 hosts 绑定稳定 IP(对 RST 最有效的兜底手段)
Connection reset 往往发生在 TLS 握手前,改 DNS 解析没用,必须绕过域名解析阶段。手动绑定 IP 是最直接的干预方式:
- 在命令行运行:
ping packagecontrol.io或nslookup packagecontrol.io 114.114.114.114,找响应快、不丢包的 IP(常见如104.20.151.17、104.20.150.17) - 编辑系统
hosts文件:
– Windows:路径为C:\Windows\System32\drivers\etc\hosts
– macOS/Linux:路径为/etc/hosts - 追加一行(注意空格,不要用 tab):
104.20.151.17 packagecontrol.io - 保存后,在终端执行:
ipconfig /flushdns(Windows)或sudo dscacheutil -flushcache(macOS),再重启 Sublime Text
这一步能绕过绝大多数中间设备的域名级拦截,RST 概率大幅下降。
设置 http_proxy 强制走代理通道(Clash/Surge 用户必做)
开了 Clash 却还报 RST?因为 Sublime 的 urllib.request 根本不读系统代理,必须显式声明,且格式极其敏感:
- 打开
Preferences → Package Settings → Package Control → Settings – User - 填入(端口按你实际代理监听端口调整,Clash 默认是
7890):{ "http_proxy": "http://127.0.0.1:7890", "https_proxy": "http://127.0.0.1:7890" } - 协议必须是小写
http://,写成HTTP://或https://都会静默失效 - 别加认证信息(如
user:pass@),urllib.request不支持带 auth 的代理字符串 - 设完必须重启 Sublime,否则不生效
设完后可在控制台执行:import urllib.request; urllib.request.urlopen('https://packagecontrol.io').getcode(),返回 200 才算真正通了。
换 channel 地址 + 清缓存(避免旧失败请求卡死)
即使网络通了,Package Control 可能还在用之前失败的缓存结果,导致一直显示 “There are no packages available”:
- 确保
Settings – User中"channels"字段只有一条有效镜像,例如:"channels": ["https://gitee.com/akira-cn/package_control_channel/raw/master/channel_v3.json"]
- 结尾必须是
/channel_v3.json,漏掉/raw/master/或写成/channel.json都会 404 - 关闭 Sublime Text(macOS 要从菜单栏「退出」,不只是关窗口)
- 删除缓存目录:
Cache/Package Control/(路径同Packages/User目录层级) - 重启后,用
Ctrl+Shift+P输入Package Control: Synchronize Repositories强制刷新索引
很多人卡在最后这步:以为改了配置就完事,其实旧缓存会持续误导 Package Control,必须清掉再同步。


















