Package Control在Sublime Text 4上安装失败绝大多数源于脚本版本错误、网络中断或文件未落盘至正确路径;必须使用含urllib.request的ST4专用脚本,通过print(sublime.version())确认版本并从https://www.php.cn/link/befa130dcb31961fa251d61e1e6ba0e1获取最新手动脚本,粘贴执行后出现“Please restart Sublime Text to finish installation”提示才成功,否则需手动下载Package Control.sublime-package放入sublime.installed_packages_path()返回的Installed Packages目录并彻底退出后重启,再验证Ctrl+Shift+P中能否调出Package Control命令。

Package Control 在 Sublime Text 4 上报错无法安装,**绝大多数情况不是插件本身坏了,而是脚本版本错、网络链路断、或文件没落盘**。ST4 必须用含 urllib.request 的脚本,混用 ST3 的 urllib2 脚本会直接报 NameError: name 'urllib2' is not defined。
确认 ST4 版本并执行官网最新手动脚本
别信网上搜到的旧脚本,ST4 官方脚本每月可能更新哈希值和请求逻辑。先验证版本:
- 在控制台(
Ctrl + `)运行print(sublime.version()),输出应为4xxx(如4143) - 打开 https://www.php.cn/link/befa130dcb31961fa251d61e1e6ba0e1,确保页面顶部显示 “Sublime Text 4” —— 此时右侧“Manual Installation”区块给出的才是 ST4 专用脚本
- 整段复制,粘贴进控制台,**不增空格、不删换行、不改引号**,回车执行
- 看到
Please restart Sublime Text to finish installation才算成功;若报Error validating download (got xxx instead of yyy),说明脚本已过期,立刻换新
手动放包后不生效:路径和重启都得对
Package Control.sublime-package 文件不能随便丢。ST4 只认 sublime.installed_packages_path() 返回的目录,不是 Packages/,也不是 Packages/User/。
- 控制台运行
print(sublime.installed_packages_path()),典型返回是:C:\Users\XXX\AppData\Roaming\Sublime Text 4\Installed Packages\(Windows)或~/Library/Application Support/Sublime Text 4/Installed Packages/(macOS) - 把下载好的
Package Control.sublime-package文件,直接拖进这个路径下的Installed Packages/文件夹 - 必须完全退出 Sublime(右键任务栏选「退出」,或 macOS 菜单栏选「Quit Sublime Text」),再重新启动 —— 仅关闭窗口无效
- 重启后按
Ctrl+Shift+P输入Package Control,能看见命令列表才算真正加载
装上了但 Install Package 卡住或提示 “no packages available”
这表示 Package Control 进程跑起来了,但连不上插件源。默认的 https://packagecontrol.io/channel_v3.json 在国内基本不可用。
- 打开
Preferences → Package Settings → Package Control → Settings – User - 填入可用镜像地址(2026 年实测有效):
{ "channels": [ "https://gitee.com/azl397985856/package_control_channel/raw/master/channel_v3.json" ] } - 注意:
/raw/master/不可省略,/channel.json是旧版,ST4 会拒绝加载 - 保存后必须重启 Sublime —— 设置不会热重载
- 如果仍为空,把上面 URL 粘到浏览器里访问,看能否返回一大段 JSON;打不开就说明 DNS 或防火墙拦截了,不是 Sublime 的问题
开了 Clash/Surge 却还是连不上:Sublime 不继承系统代理
Clash 默认监听 127.0.0.1:7890,但 ST4 的 urllib.request 不读系统环境变量,必须显式配置。
- 同样在
Package Control → Settings – User中追加:{ "http_proxy": "http://127.0.0.1:7890", "https_proxy": "http://127.0.0.1:7890" } - 协议必须是
http://,哪怕目标是 HTTPS 站点;写成https://会直接失败 - 端口要和你代理工具实际监听端口一致(Clash Dashboard 里看「General」→「Port」)
- 某些杀毒软件(如火绒、360)会静默拦截 Sublime 的 Python 网络请求,临时关闭测试一下
最常被跳过的环节是:**没确认 Package Control 是否真加载了,就急着换源或重装插件**。只要 Ctrl+Shift+P 里搜不到 Package Control: 开头的任何命令,其他所有操作都是白搭。先让它出现在命令面板里,再解决网络问题。











