Sublime Text中如何配置代理插件以解决Package Control连接问题?

2026-04-30 11:252阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计858个文字,预计阅读时间需要4分钟。

Sublime Text中如何配置代理插件以解决Package Control连接问题?

使用Clash或Surge以及系统设置中的代理对Sublime Text完全无效。它使用的是Python内置的`urllib.request`模块,不读取环境变量也不继承系统设置,仅识别自己配置文件中定义的`http_proxy`和`https_proxy`字段。

常见错误现象:

  • 开了 Clash 全局模式,Sublime 控制台仍报 Connection timed out
  • 填了 https://127.0.0.1:7890(协议写成 https://)——直接忽略,不报错也不生效
  • 用了 SOCKS5 代理端口(如 127.0.0.1:1080)——urllib.request 不支持,必须换 HTTP 代理端口或启用工具的 HTTP 转发

怎么正确配置 http_proxy / https_proxy?

打开 Preferences → Package Settings → Package Control → Settings – User,在 JSON 中添加:

{ "http_proxy": "http://127.0.0.1:7890", "https_proxy": "http://127.0.0.1:7890" }

注意要点:

  • 两个字段都必须填,且协议严格为 http://,哪怕目标是 HTTPS 站点
  • 端口要和你本地代理软件实际监听的 HTTP 端口一致(Clash 默认 7890,但部分配置可能改成了 78918080,需确认)
  • 不需要认证时,proxy_usernameproxy_password 留空或干脆不写
  • 别加斜杠结尾,也别混入中文引号、不可见 Unicode 字符(从网页复制代码容易中招)

怎么验证代理真的生效了?

Ctrl+` 打开控制台,运行这行测试命令:

import urllib.request; urllib.request.urlopen('https://packagecontrol.io').getcode()

返回 200 才算真正通了。如果还报错,再看控制台输出:

  • 出现 Connection refused → 代理没开,或端口填错
  • 出现 SSL: CERTIFICATE_VERIFY_FAILED → 不是代理问题,是系统时间不准(误差超 5 分钟)或证书链异常,临时可加 "ssl_verify": false,但不推荐长期开启
  • 没任何输出或卡住 → 检查 Windows 防火墙是否拦截了 sublime_text.exe 的出站请求

代理配好了,“There are no packages available” 还是出现?

说明 channels 地址根本没通——代理只管请求转发,但 channels 默认值仍是 https://packagecontrol.io/channel_v3.json,这个地址在国内直连大概率失败。

此时有两个选择:

  • 删掉 channels 字段,让 Package Control 回归直连逻辑,靠代理穿透(前提是代理本身能稳定访问 GitHub)
  • 保留代理,同时把 channels 换成国内镜像,比如:

    "channels": ["https://gitee.com/akira-cn/package_control_channel/raw/master/channel_v3.json"]注意路径必须含 /raw/master/,结尾必须是 channel_v3.json,浏览器能直接打开并返回 JSON 才算有效

改完保存,必须重启 Sublime,设置不热重载;之后再执行 Package Control: Synchronize Packages 强制刷新缓存。

最容易被忽略的其实是:代理配置和 channels 地址是两件事,配了前者不等于后者自动变通——很多人卡在这一步,反复重装 Package Control,其实只是没动对地方。

标签:Sublime

本文共计858个文字,预计阅读时间需要4分钟。

Sublime Text中如何配置代理插件以解决Package Control连接问题?

使用Clash或Surge以及系统设置中的代理对Sublime Text完全无效。它使用的是Python内置的`urllib.request`模块,不读取环境变量也不继承系统设置,仅识别自己配置文件中定义的`http_proxy`和`https_proxy`字段。

常见错误现象:

  • 开了 Clash 全局模式,Sublime 控制台仍报 Connection timed out
  • 填了 https://127.0.0.1:7890(协议写成 https://)——直接忽略,不报错也不生效
  • 用了 SOCKS5 代理端口(如 127.0.0.1:1080)——urllib.request 不支持,必须换 HTTP 代理端口或启用工具的 HTTP 转发

怎么正确配置 http_proxy / https_proxy?

打开 Preferences → Package Settings → Package Control → Settings – User,在 JSON 中添加:

{ "http_proxy": "http://127.0.0.1:7890", "https_proxy": "http://127.0.0.1:7890" }

注意要点:

  • 两个字段都必须填,且协议严格为 http://,哪怕目标是 HTTPS 站点
  • 端口要和你本地代理软件实际监听的 HTTP 端口一致(Clash 默认 7890,但部分配置可能改成了 78918080,需确认)
  • 不需要认证时,proxy_usernameproxy_password 留空或干脆不写
  • 别加斜杠结尾,也别混入中文引号、不可见 Unicode 字符(从网页复制代码容易中招)

怎么验证代理真的生效了?

Ctrl+` 打开控制台,运行这行测试命令:

import urllib.request; urllib.request.urlopen('https://packagecontrol.io').getcode()

返回 200 才算真正通了。如果还报错,再看控制台输出:

  • 出现 Connection refused → 代理没开,或端口填错
  • 出现 SSL: CERTIFICATE_VERIFY_FAILED → 不是代理问题,是系统时间不准(误差超 5 分钟)或证书链异常,临时可加 "ssl_verify": false,但不推荐长期开启
  • 没任何输出或卡住 → 检查 Windows 防火墙是否拦截了 sublime_text.exe 的出站请求

代理配好了,“There are no packages available” 还是出现?

说明 channels 地址根本没通——代理只管请求转发,但 channels 默认值仍是 https://packagecontrol.io/channel_v3.json,这个地址在国内直连大概率失败。

此时有两个选择:

  • 删掉 channels 字段,让 Package Control 回归直连逻辑,靠代理穿透(前提是代理本身能稳定访问 GitHub)
  • 保留代理,同时把 channels 换成国内镜像,比如:

    "channels": ["https://gitee.com/akira-cn/package_control_channel/raw/master/channel_v3.json"]注意路径必须含 /raw/master/,结尾必须是 channel_v3.json,浏览器能直接打开并返回 JSON 才算有效

改完保存,必须重启 Sublime,设置不热重载;之后再执行 Package Control: Synchronize Packages 强制刷新缓存。

最容易被忽略的其实是:代理配置和 channels 地址是两件事,配了前者不等于后者自动变通——很多人卡在这一步,反复重装 Package Control,其实只是没动对地方。

标签:Sublime