ESLint插件装了但不报错,需确认安装SublimeLinter-eslint(全小写连字符)、node路径正确、配置文件位置合规、项目通过subl .打开以确保cwd正确。

ESLint插件装了但不报错?检查SublimeLinter和SublimeLinter-eslint是否都装对了
只装SublimeLinter不行,它只是框架;必须额外装SublimeLinter-eslint这个具体适配器。常见错误是误装了老版本的SublimeLinter-ESLint(带大写ESLint),它已废弃且不兼容Node.js 14+。
- 用Package Control安装时,搜
SublimeLinter-eslint(全小写、带连字符) - 确认
node在终端能执行:which node或where node,路径要能被Sublime读到(macOS/Linux注意Shell环境与GUI环境PATH不一致) - 如果项目用了
nvm,需在Sublime里配置executable指向具体Node版本,比如~/.nvm/versions/node/v18.18.2/bin/node
为什么保存后没自动修复?eslint --fix默认不启用自动修复
SublimeLinter默认只做校验,不执行--fix。想保存即修复,得手动开开关,但要注意副作用。
- 在
SublimeLinter.sublime-settings里加:"lint_mode": "save"(触发时机) - 再加
"args": ["--fix"]到SublimeLinter-eslint的用户设置中 - ⚠️ 风险:某些规则(如
import/order)修复可能改写整个import块,和团队格式不一致;建议只对semi、quotes这类无歧义规则启用 - 更稳妥的做法是绑定快捷键(如
ctrl+alt+f)手动触发修复,避免误操作
项目级配置没生效?优先级顺序和.eslintrc.*位置很关键
SublimeLinter-eslint按从文件所在目录向上逐层查找.eslintrc.js、.eslintrc.json等,但会跳过node_modules,也**不会自动识别package.json里的eslintConfig字段**(除非显式配置)。
- 确保配置文件放在项目根目录,或至少和当前编辑的JS文件同级或上级
- 如果用
eslint-config-airbnb这类共享配置,确认node_modules里已安装对应包(Sublime不走npx eslint,而是调用全局或本地eslint二进制) - 调试技巧:在Sublime控制台(
ctrl+`)看输出,搜索eslint关键词,会打印实际加载的配置路径 - Windows下路径含空格(如
C:\Users\John Doe\...)可能引发解析失败,建议用短路径或重装到不含空格目录
提示“Cannot find module”?Node模块解析路径和Sublime的cwd有关
ESLint找不到eslint-plugin-react这类插件,往往不是没装,而是Sublime启动时的当前工作目录(cwd)不对,导致require()失败。
- 不要靠
npm install -g eslint解决——全局安装无法加载本地插件 - 必须在项目根目录运行
npm install eslint eslint-plugin-react(或yarn add -D) - Sublime打开项目时,务必用
Project → Open Project,而不是直接拖JS文件进来;否则cwd可能是用户主目录,找不到node_modules - 临时验证:在项目根目录终端执行
./node_modules/.bin/eslint --version,能跑通才说明环境没问题
最常被忽略的是Sublime的启动方式——从桌面图标或Spotlight启动时,cwd是随机的;只有通过项目目录里的subl .命令打开,才能保证ESLint正确定位node_modules和配置文件。

















