Package Control安装失败主因是官方停用HTTP非加密通道且v4+禁用SHA-1校验,正确做法是官网获取HTTPS+SHA-256脚本,Windows用户遇SSL错误可临时禁用验证,或手动安装.sublime-package文件至对应Packages目录。

Package Control 安装失败的常见原因和绕过方法
直接粘贴旧版安装脚本到控制台(Ctrl + `)大概率会失败——不是你网络问题,而是官方已停用 http://packagecontrol.io 的非加密通道,且新版 Sublime Text(v4+)默认禁用 SHA-1 校验。你看到的 Error validating download 就是校验哈希不匹配。
正确做法是:打开官网 https://www.php.cn/link/befa130dcb31961fa251d61e1e6ba0e1,复制对应系统、Sublime 版本的最新 Python 安装代码(目前 v4 默认用 https + SHA-256)。Windows 用户若提示 ssl.SSLError,说明系统 OpenSSL 太旧,可临时在控制台先执行:import ssl; ssl._create_default_https_context = ssl._create_unverified_context,再运行安装代码。
更稳的替代路径:
- macOS:终端执行 curl -fsSL https://packagecontrol.io/pc_install.py | python3
- Linux:确保 python3-venv 已安装,再运行官网脚本
- 所有平台:下载 Package Control.sublime-package 文件,手动放入 Packages/Installed Packages/ 目录(路径见下方)
插件安装后不生效?检查这三个位置
插件没反应,90% 是因为没装进对的目录。Sublime Text 严格区分“已安装”和“已启用”:插件文件必须落在 Packages/ 下,且不能被其他插件或设置屏蔽。
确认路径是否正确:
- Windows:%APPDATA%\Sublime Text\Packages\(不是 Program Files 下的安装目录)
- macOS:~/Library/Application Support/Sublime Text/Packages/
- Linux:~/.config/sublime-text/Packages/
- 插件文件名必须是 xxx.sublime-package(压缩包)或 xxx/(文件夹),不能带版本号或下划线前缀
常见干扰项:
- Preferences → Package Settings 里某插件被手动设为 "disabled": true
- 用户设置 Preferences.sublime-settings 中写了 "ignored_packages",把插件名列进去了
- 同名插件重复安装(比如同时有 ChineseLocalization 和 ChineseLocalization-Plus),后者可能覆盖前者
中文乱码、保存报 Permission denied 怎么办
这不是插件问题,是 Sublime Text 自身编码与系统权限策略没对齐。尤其 Windows 用户装在 C:\Program Files\ 下,UAC 会拦截写入;macOS 用户用 Homebrew 安装但没加 --cask,导致 GUI 权限缺失。
立刻修复动作:
- 中文乱码:打开 Preferences → Settings,在用户配置中加这一行:"fallback_encoding": "UTF-8 with BOM"(别用 GBK,它在跨平台协作时必然崩)
- Permission denied:Windows 用户重装时务必勾选 Add to PATH 和 Add to explorer context menu;macOS 用户终端执行 sudo xattr -rd com.apple.quarantine /Applications/Sublime\ Text.app 清除隔离属性
- 保存失败还可能是文件被其他进程占用(如 WSL 中用 vim 编辑同一文件),关掉终端再试
Build System 配置 C++/Python 时最易错的参数
构建系统(.sublime-build)本质是 Shell 命令封装,shell_cmd 里一个空格、一个引号漏掉就直接报错。而且不同系统对路径变量处理差异极大。
关键参数对照:
- $file:含完整路径的当前文件(Windows 用反斜杠,Linux/macOS 用正斜杠)→ 必须加双引号包裹,否则含空格路径直接崩
- $file_base_name:不含扩展名的文件名 → 在 shell_cmd 中用于输出可执行名,但 Windows 下生成 .exe 后缀必须显式写死
- working_dir:建议固定为 "$file_path",否则 g++ 找不到头文件或 python 加载不到相对路径模块
- selector:值必须是 source.c++ 或 source.python,不能写成 source.cpp 或 python,否则构建菜单不自动激活
Python 构建示例(兼容虚拟环境):
{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"}
}注意 env 字段必须存在,否则 Windows 控制台输出中文仍是乱码。
真正卡住人的从来不是“怎么点”,而是 shell_cmd 里那个没引起来的 $file,或是 macOS 上忘了给 subl 命令加 sudo 注册 shell 命令——这些细节不会报错,只会让你写的代码永远跑不起来。

















