package control: install package 命令不可用,本质是 package control 未成功加载,主因包括:st4 使用旧版安装脚本、dns/tls 网络问题导致 fetching list 卡住、installed packages/ 目录残留旧文件;验证方式为 ctrl+shift+p 输入 package control: 看能否补全该命令,不能则需清理后重装官方最新脚本。

能直接用 Package Control: Install Package 就别折腾手动下载——只要网络通、安装脚本对、没被 ignored_packages 屏蔽,95% 的插件都能秒装成功。
为什么命令面板搜不到 Install Package?
这不是插件没装好,而是 Package Control 根本没加载成功。常见原因有三个:
- ST4 用户用了旧版安装脚本(缺
hashlib.sha256校验),即使控制台显示Success!,后续也无法联网拉取插件列表 - 国内 DNS 污染或 TLS 握手失败,导致
packagecontrol.io请求卡在Fetching list of available packages或直接超时 -
Installed Packages/目录里残留了旧版Package Control.sublime-package或同名文件夹,劫持了命令通道
验证方式很简单:按 Ctrl+Shift+P,输入 Package Control:,看能不能完整补全出 Package Control: Install Package。不能就重装——先删掉 Installed Packages/ 下所有含 Package Control 字样的文件,再用 ST4 官方最新脚本重装。
Package Control: Install Package 能搜到插件但装不上?
大概率是插件名拼错、作用域不匹配,或者被用户配置屏蔽了。重点检查这几处:
- 右下角状态栏显示的语法类型(如
Plain Text)是否和插件支持的作用域一致?比如Emmet默认只在HTML、Vue、JSX等作用域生效,纯文本文件里不会触发 - 打开
Preferences → Settings,右侧用户配置中有没有"ignored_packages": ["Emmet"]这类项?刚装的插件名如果在里面,就会被静默忽略 - 插件名大小写敏感:
emmet和Emmet是两个不同插件;PyV8必须首字母大写,否则报ImportError: No module named 'PyV8'
手动安装插件时,.sublime-package 和源码文件夹怎么选?
日常使用无脑选 .sublime-package 文件:下载后直接丢进 Installed Packages/,重启即用,更新也只需替换文件。只有两种情况才需要解压成文件夹放 Packages/:
- 你要调试插件行为,比如改
ConvertToUTF8的编码检测逻辑 - 插件依赖本地 Python 模块(如某些带
pywin32或requests的插件),而.sublime-package无法直接嵌入二进制依赖
注意:解压后必须重命名为不含 -master、-main 的简洁名(如 ConvertToUTF8),整个文件夹拖进 Packages/,不是子目录。
真正卡住人的从来不是“怎么装”,而是装完发现没反应——这时候别急着重装,先看状态栏语法、查 ignored_packages、翻控制台报错(View → Show Console),90% 的问题都出在这三处。











