必须先运行sublime.version()确认版本号≥4107,再查插件package-control.json中"sublime_text"字段是否匹配,否则加载时直接抛ImportError或静默跳过。

确认插件是否支持你的 Sublime Text 版本
直接运行 sublime.version() 查版本号,再查插件仓库的 package-control.json 里 "sublime_text" 字段。比如值为 ">=4107",那 ST3(版本号 3xxx)就完全不兼容——不是“可能不行”,是加载时直接抛 ImportError 或静默跳过。ST3 默认 Python 3.3,ST4 升到 3.8+,sublime_plugin.EventListener 等类行为有变化,依赖 mdpopups 或 sublime_lib 的插件更得看它们各自的兼容声明。
手动安装旧版插件的正确姿势
Package Control 不提供历史版本选择,主分支 ZIP 几乎必然不兼容 ST3。可靠做法是用 Git 克隆指定 tag 或 commit:
- 先退出 Sublime Text,避免文件被占用
- 进
Packages/目录(Preferences → Browse Packages…) - 执行:
git clone --depth 1 -b v2.4.1 https://github.com/sergeche/emmet-sublime.git Emmet(注意最后的文件夹名Emmet必须和插件原始仓库名一致,大小写敏感) - 若没 tag,用 commit hash:
git clone --depth 1 --branch 4a9f3c2 https://github.com/facelessuser/SublimeLinter.git SublimeLinter - 克隆完删掉
.git文件夹——Sublime 不需要它,还可能引发加载冲突
插件放错位置或命名错误导致加载失败
Sublime 只从 Packages/ 目录下一级子目录读取插件,且路径名必须精确匹配:
- 不能放进
Installed Packages/(那是 .sublime-package 自动解压区) - 不能放进
Packages/User/或嵌套子目录(如Packages/Emmet/src/) - 文件夹名不能带
-master、不能全小写、不能有空格——BracketHighlighter写成brackethighlighter就会报reloading plugin BracketHighlighter failed - 检查
Preferences → Settings – User里有没有"ignored_packages": ["Emmet"]这类配置,有就删掉
装完仍不生效?重点看控制台输出
重启 Sublime 后,按 Ctrl+` 打开控制台,观察启动日志:
- 出现
reloading plugin XXX failed—— 路径或命名错,或 Python 语法错误 - 出现
ImportError: No module named 'xxx'—— 插件依赖的底层库没装对,或版本不匹配 - 完全没相关日志 —— 插件根本没被扫描到,大概率是放错目录或被
ignored_packages屏蔽 - 别忽略 ST3 和 ST4 的缓存路径差异,
sublime.cache_path()返回的路径里若有旧插件残留,手动清掉更稳妥
sublime.version() 和插件声明的 sublime_text 字段是否真能对上——很多问题根源就在这里,而不是后续安装步骤。

















