package control 安装失败是因非系统盘路径导致权限拒绝,需通过 settings – user 强制指定用户可写路径(如 appdata 或 library 目录)并重启 sublime;插件不加载或 ignored_packages 异常也源于路径配置错误,应统一使用相对插件名并确保目录权限正确。

Package Control 安装失败:非系统盘路径引发的权限拒绝
Sublime Text 装在 D:、E: 或 macOS/Linux 的非默认路径时,Package Control 常因无写入权限卡在安装阶段——控制台报 PermissionError: [Errno 13] Permission denied,或根本无法写入 Installed Packages/ 目录。这不是插件问题,是 Sublime 运行时对非标准路径的访问受限。
关键点在于:sublime.installed_packages_path() 返回的路径若位于受限分区(如 NTFS 权限锁定的 D:Program Files),Python 子进程会静默失败,不提示具体位置。
- 先确认真实路径:打开控制台,运行
print(sublime.installed_packages_path()),看输出是否指向非用户目录(如D:Sublime TextInstalled Packages) - 不要手动给该目录加“完全控制”权限——Windows 会重置,且 Sublime 可能仍用低完整性级别运行
- 正确做法是强制 Package Control 使用用户可写路径:在
Preferences → Package Settings → Package Control → Settings – User中添加:
"installed_packages_path": "C:/Users/你的用户名/AppData/Roaming/Sublime Text 3/Installed Packages"
(Windows 示例;macOS 对应路径为 ~/Library/Application Support/Sublime Text 3/Installed Packages)
路径必须是绝对路径,且确保该目录存在、当前用户有读写权。改完保存,重启 Sublime 后再执行安装脚本。
插件解压后不加载:非C盘Packages目录的文件权限陷阱
手动把插件文件夹扔进 Packages/ 目录却没反应?常见于 Sublime 安装在 D: 或自定义路径时,sublime.packages_path() 返回的路径可能被系统策略限制读取——尤其当文件夹含中文、空格或位于 NTFS 加密卷时。
Sublime 不会报错,只是跳过整个目录扫描。验证方式:控制台运行 print(sublime.packages_path()),然后用资源管理器直接打开该路径,检查能否新建文本文件并保存。
- 若无法保存,说明权限不足:右键目录 → 属性 → 安全 → 编辑 → 为当前用户勾选“修改”和“写入”
- 更稳妥的做法是重定向到用户目录:在
Preferences → Settings – User中添加:
"packages_path": "C:/Users/你的用户名/AppData/Roaming/Sublime Text 3/Packages"
注意:这个设置会覆盖默认路径,所有插件(包括未来通过 Package Control 安装的)都将存到这里。改完必须彻底退出 Sublime(任务管理器确认 sublime_text.exe 进程已结束),再启动。
ignored_packages 静默屏蔽:非标准路径下配置继承异常
插件明明放在正确的 Packages/ 目录里,但命令面板搜不到、快捷键无效——很大概率是 ignored_packages 列表里混进了路径相关字段,比如误写了 "D:\Sublime\Packages\Emmet" 这类绝对路径,导致 Sublime 把整个插件名匹配失败后直接忽略。
Sublime 的 ignored_packages 只认插件文件夹名(如 "Emmet"),不接受路径。但某些旧版配置或迁移脚本会把路径拼进去,尤其当 Sublime 从 C 盘迁移到其他盘时,配置未清理干净。
- 打开
Preferences → Settings – User,检查"ignored_packages"数组中是否含带冒号、反斜杠、盘符的项 - 删掉所有类似
"D:\Packages\BracketHighlighter"的条目,只保留干净的插件名,例如"BracketHighlighter" - 保存后,务必重启 Sublime —— 这个设置在启动时加载,热重载不生效
代理与证书校验失败:非C盘安装触发 TLS 验证路径异常
装在非系统盘的 Sublime 在调用 urllib.request 下载插件时,偶尔会因证书链查找路径错误导致 ssl.CertificateError,尤其当系统时间偏差小(
这不是网络问题,而是 Python 内置 SSL 模块在非标准安装路径下未能定位根证书存储区。表现是:控制台反复报 CertificateError,即使换源、配代理也无效。
- 先校准系统时间(误差需
- 如果时间准确仍报错,在
Package Control → Settings – User中添加:
"http_debug": true
重启后观察控制台详细日志,若看到 SSL: CERTIFICATE_VERIFY_FAILED 且 URL 正常,说明证书链缺失。此时最简方案是改用本地 channel_v3.json 文件(见知识库中 file:// 协议方案),绕过 HTTPS 校验环节。
真正难排查的是路径权限与配置继承的组合问题——比如 packages_path 改了但 ignored_packages 还残留旧路径,或者代理设置写在了全局配置而非用户配置里。每改一项,都要验证对应路径是否存在、可读写、且 Sublime 进程确实用了它。











