必须将channels配置写入preferences → settings打开的用户设置文件右栏,而非package control插件设置界面;其值须为严格json格式的字符串数组,如["https://packagecontrol.io/channel_v3.json"],修改后需执行package control: synchronize packages才能生效。

Package Control的channels配置项必须写在Settings – User里
不是Preferences → Package Settings → Package Control → Settings,那个是插件自身的配置界面,改了没用。真正生效的位置是全局用户设置文件 Preferences.sublime-settings,也就是通过 Preferences → Settings 打开的那个双栏编辑器的右栏(User)。
channels数组格式和常见错误
必须是严格 JSON 格式的字符串数组,每个 URL 都要带协议、结尾斜杠不能少、不能有多余空格或中文标点:
- ✅ 正确:
"channels": ["https://packagecontrol.io/channel_v3.json"] - ❌ 错误:
"channels": "https://packagecontrol.io/channel_v3.json"(不是数组) - ❌ 错误:
"channels": ["http://packagecontrol.io/channel_v3.json"](HTTP 已被强制重定向,但部分网络策略会拦截重定向响应) - ❌ 错误:
"channels": ["https://packagecontrol.io/channel_v3.json " ](末尾空格导致解析失败)
自定义源(比如国内镜像或私有仓库)也得符合这个结构,例如:"channels": ["https://packagecontrol.cn/channel_v3.json", "https://my-internal-repo.example.com/channel.json"]
修改后不生效?先同步再等几秒
改完 settings 保存后,Package Control 不会立刻拉取新频道——它只在首次运行或执行 Package Control: Synchronize Packages 时才刷新索引。所以:
- 按
Ctrl+Shift+P输入Package Control: Synchronize Packages并回车 - 右下角状态栏出现
Syncing packages...→Done后才算完成 - 再执行
Package Control: Install Package,等光标转圈结束(通常 3–8 秒),列表才是新频道的内容
如果同步失败,控制台会输出具体错误 URL 和 HTTP 状态码,重点检查那个地址能否在浏览器中直接打开并返回 JSON 内容。
为什么自定义频道加载慢或失败?
不是配置写错了,而是 Package Control 对每个 channel URL 做了严格的 TLS 校验和响应头检查:
- 服务器必须支持 TLS 1.2+,且证书链完整(自签名证书会直接拒绝)
- 响应必须是
Content-Type: application/json,且返回体是合法 JSON 数组 - URL 路径末尾不能是
.zip或.tar.gz,只能是 .json 文件路径 - 如果用了反向代理(如 Nginx),需确保
proxy_set_header Host $host;未被覆盖,否则 packagecontrol.io 的 CDN 可能返回 403
本地测试建议先用 curl 验证:curl -I https://your-channel-url/channel.json,看状态码和 header 是否合规。











