根本原因是package control连不上默认源https://packagecontrol.io/channel_v3.json,2026年国内环境下需将channels改为gitee镜像地址并彻底重启;未安装成功则须执行st4专用脚本验证success输出,列表空白需浏览器验证json返回,插件搜不到需检查ignored_packages配置及路径规范。

Package Control 装不上、插件列表空白、点安装没反应——根本不是你操作错了,而是它连不上源。2026 年国内环境下,90% 的失败都卡在 https://packagecontrol.io/channel_v3.json 这个地址上,换源+重启是唯一直接有效的解法。
Package Control 根本没装上?先跑官方脚本再看输出
按 Ctrl+` 打开控制台,粘贴官网最新手动安装代码(ST4 必须用含 urllib.request 的版本),回车执行:
import urllib.request,os,hashlib; h = '6f4c264a24d237259395a6f7a7eb1a8e6c5b3b5e'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); by = urllib.request.urlopen('https://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download: %s' % dh if dh != h else 'Success'); open(os.path.join(ipp, pf), 'wb').write(by)
看到 Success 才算真正写入文件;如果报 URLError 或卡住,说明网络不通,跳过重试,直接换源;如果提示 NameError: name 'urllib2' is not defined,是你把 ST3 脚本用在了 ST4 上。
插件列表为空?改 channels 地址必须浏览器验证
"There are no packages available for installation" 不是插件没了,是 channels 里那个 URL 返回不了 JSON。打开 Preferences → Package Settings → Package Control → Settings – User,把 channels 改成:
[ "https://gitee.com/azl397985856/package_control_channel/raw/master/channel_v3.json" ]
改完立刻把这行 URL 粘到浏览器地址栏敲回车——必须看到以 { "packages": [ 开头的完整 JSON 内容才算有效。常见失效原因:
- 抄了旧博客里的
php.cn链接(2026 年全 404) - 漏了
/raw/master/路径段,Gitee 返回的是 HTML 页面而非 JSON - 用了
http://开头的源(ST4 默认禁用非 HTTPS 源)
插件放对了但命令面板搜不到?先查 ignored_packages
插件文件夹明明在 Packages/ 目录下,却像没装一样——大概率被 Sublime 主动忽略了。打开 Preferences → Settings,检查右侧用户配置中是否有:
"ignored_packages": ["Emmet", "ChineseLocalization"]
刚装的插件名如果出现在这个数组里,它就被静默屏蔽。删掉对应项,或整行加 // 注释掉,保存后必须彻底退出 Sublime(Windows 右键任务栏选「退出」,macOS 右键 Dock 图标选「Quit」),再重启才生效。
.sublime-package 和解压文件夹路径不能混放
Sublime 对两个目录有硬性分工,放错就等于没装:
-
.sublime-package文件(如Emmet.sublime-package)→ 必须直接丢进Installed Packages/,不能解压、不能改名、不能嵌套子目录 - GitHub 下载 ZIP 解压后得到的文件夹(如
Emmet-master/)→ 必须整体复制进Packages/根目录,并重命名为干净名称(如Emmet),不能带-master、空格或中文 - 不确定真实路径?在控制台运行
print(sublime.packages_path())和print(sublime.installed_packages_path())查看
杀毒软件(尤其是火绒、360、腾讯电脑管家)会静默拦截 urllib.request 的 HTTPS 请求,临时禁用试试;系统时间误差超过 5 分钟会导致 ssl.CertificateError,校准后再试。











