Package Control 显示“There are no packages”是因本地缓存的channel_v3.json过期、损坏或为空所致;需执行Package Control: Synchronize Packages强制刷新,或手动删除缓存文件后重试,必要时检查hosts或代理配置。

Package Control 显示 “There are no packages” 是缓存失效导致的
这通常不是网络或权限问题,而是 Package Control 本地缓存的包列表(channel.json)过期、损坏或为空。它不会自动重试失败的更新,也不会在 UI 中提示“缓存异常”,只安静地展示空列表。
强制刷新 Package Control 的包索引缓存
执行手动更新命令是最直接有效的解决方式,它会忽略旧缓存,重新下载并解析 https://packagecontrol.io/channel_v3.json(默认通道):
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
Package Control: Synchronize Packages并回车(注意不是 “Install Package”) - 等待右下角状态栏出现
Finished synchronizing packages - 再次打开
Package Control: Install Package,列表应正常加载
手动清理缓存文件(当同步无效时)
如果上一步没反应或仍为空,说明缓存文件已卡死。Sublime Text 的缓存路径因系统而异,但核心文件统一为 channel_v3.json:
- 关闭 Sublime Text
- 删除以下路径中的
channel_v3.json和channel_v3.json.last-modified文件:
– Windows:%APPDATA%\Sublime Text\Packages\User\Package Control.cache\
– macOS:~/Library/Application Support/Sublime Text/Packages/User/Package Control.cache/
– Linux:~/.config/sublime-text/Packages/User/Package Control.cache/ - 重启 Sublime Text,再执行一次
Package Control: Synchronize Packages
检查是否被代理或 hosts 干扰了 channel 域名
即使能打开浏览器访问 packagecontrol.io,Sublime 的 Python 环境也可能因系统代理或 hosts 规则无法解析该域名:
- 在命令面板中运行
Package Control: Advanced Upgrade Package,选任意已安装包(如Emmet),观察控制台(Ctrl+`)是否报错URLError: - 若报此错,说明 DNS 解析失败;可临时在 hosts 中添加:
104.20.151.17 packagecontrol.io
104.20.150.17 packagecontrol.io - 或者在
Preferences → Package Settings → Package Control → Settings – User中添加代理配置(如使用 HTTP 代理):
{ "http_proxy": "http://127.0.0.1:8080", "https_proxy": "http://127.0.0.1:8080" }










