GitHub下载的ZIP插件必须解压后移除-master等冗余层级,重命名为规范名称(如GitGutter),再整体拖入Packages/根目录;放错目录、命名不规范或未彻底重启将导致静默失效。

GitHub下载的ZIP插件必须解压并移除-master层级
直接把 plugin-name-master.zip 解压后整个文件夹丢进 Packages/,Sublime 会静默跳过加载——控制台可能只显示 reloading plugin XXX failed,或者完全没反应。
真实插件代码通常藏在 plugin-name-master/ 里面一层。比如下载 GitGutter-master.zip,解压后得到 GitGutter-master/ 文件夹,而真正含 git_gutter.py 或 __init__.py 的子目录就在它里面。
- 进到
GitGutter-master/内部,找到那个带主模块文件的文件夹(常与 ZIP 名一致,但不含-master) - 把它单独剪出来,重命名为规范名:首字母大写、无空格、无点号、无下划线、无中文,例如
GitGutter - 把这个干净的文件夹整体拖进
Packages/根目录,不能嵌套在User/或其他子目录里 - 确认该文件夹内至少有一个
.py文件,且定义了sublime_plugin.TextCommand或EventListener类
放错目录是90%手动安装失败的根源
Packages/ 和 Installed Packages/ 是两个完全独立、用途固定的目录,混放等于白装。
从 GitHub 下载源码 ZIP → 解压 → 得到插件文件夹 → 必须放进 Packages/;.sublime-package 文件(如 Emmet.sublime-package)→ 必须直接扔进 Installed Packages/,不许解压、不许改名、不许嵌套。
- 别猜路径,也别抄网上旧教程里的默认路径(ST3/ST4 路径名不同,Snap 版和便携版更不一样)
- 打开 Sublime →
Preferences → Browse Packages…,弹出的窗口地址就是Packages/ - 在这个窗口里按
..返回上一级,就能看到Installed Packages/ - 不确定?按
Ctrl+`调出控制台,输入import sublime; sublime.packages_path()和sublime.installed_packages_path(),回车看真实路径
重启不彻底 = 插件永远不生效
只关窗口或按 Ctrl+R 刷新,Sublime 后台进程仍在运行,旧模块缓存未清,新插件根本不会被扫描。
- macOS:右键 Dock 图标 → Quit(不是关闭窗口),再打开「活动监视器」确认没有
subl进程残留 - Windows:打开任务管理器 → 结束所有
subl.exe进程(注意区分 ST3/ST4 实例) - Linux:终端执行
pkill -f "subl",或先ps aux | grep subl找 PID 再kill -9 - 重启后立刻按
Ctrl+Shift+P,输入插件名看命令是否出现;没反应就打开控制台,盯住有没有ImportError或reloading plugin XXX failed
插件“装上了却找不到”大概率是被 ignored_packages 屏蔽
Sublime 不报错,也不提示,只是默默跳过你刚放进去的插件——这是最隐蔽的失效原因。
打开 Preferences → Settings,看右侧用户配置中是否有 "ignored_packages" 字段。如果值里包含你刚装的插件名(比如 "GitGutter"),它就被静默禁用了。
- 删掉对应项,或整行用
//注释掉,保存 - 必须重启 Sublime 才生效,改完设置不重启无效
- 某些老插件(如 Emmet)依赖
PyV8,控制台报No module named 'PyV8'时,需手动补依赖:建Packages/PyV8/文件夹,把对应平台的pyv8.pyd(Win)或pyv8.so(Linux/macOS)和__init__.py放进去,文件夹名严格为PyV8(首字母大写)
sublime.version(),ST4 对模块加载更严格,旧插件名或路径错一字符,它就当没看见。


















