sublime text中eslint无反应,首要检查eslint命令能否在终端运行;需正确配置executable路径、lint_mode为background、语法识别为javascript,并确保项目根目录存在有效.eslintrc配置文件。

Sublime Text 本身不带 ESLint,装完插件却没反应,90% 是因为 eslint 命令根本不可执行——不是插件没装对,而是校验链最底下的那个可执行文件找不着。
确认 eslint 命令能否在终端运行
这是整个流程的起点,也是最容易跳过的一步。SublimeLinter-eslint 不会帮你装 eslint,它只调用你系统里已有的命令。
- 打开终端(macOS/Linux)或命令提示符(Windows),输入
eslint --version;如果报command not found或'eslint' is not recognized,说明 ESLint 根本没装好或不在 PATH 里 - 优先用项目本地安装:
npm install eslint --save-dev,然后路径指向node_modules/.bin/eslint(更稳定,避免全局和项目规则冲突) - 若坚持全局安装:
npm install -g eslint,Windows 用户别填eslint.cmd,SublimeLinter-eslint 只认eslint(它会自动补后缀);macOS/Linux 用户要确认/usr/local/bin在 Sublime 的paths配置中
配置 SublimeLinter 的 executable 路径
路径写错是“有插件但无提示”的最常见原因。配置位置是:Preferences → Package Settings → SublimeLinter → Settings,关键项必须显式设置:
-
"executable"必须是绝对路径,且该路径下文件真实存在、有可执行权限。例如 macOS:"executable": "/myproject/node_modules/.bin/eslint";Windows:"executable": "C:\myproject\node_modules\.bin\eslint" -
"lint_mode": "background"启用实时校验(默认是on_save,容易误以为没生效) -
"args": ["--fix"]加上这行才能保存时自动修复(仅限安全规则,如引号、分号、空格);若项目含.vue或.ts,需扩展为["--fix", "--ext", ".js,.jsx,.ts,.tsx,.vue"]
检查当前文件是否被识别为 JavaScript
右下角状态栏显示的语法类型决定 SublimeLinter-eslint 是否介入。哪怕文件名是 index.js,也可能被识别为 Plain Text 或 JSON。
- 点击右下角语法名 → 选择
JavaScript(不是JavaScript (Babel)或JSON);若没有JavaScript选项,说明没装 Babel 插件或语法包损坏 - 确保项目根目录有有效的 ESLint 配置文件:
.eslintrc.js、.eslintrc.json或package.json中含"eslintConfig"字段 - 打开 Sublime 控制台(
Ctrl+`或Cmd+`),看是否有类似SublimeLinter: eslint: xxx.js ERROR的日志——没有就说明校验压根没触发
为什么 console.log 没标红,但 var a = 1; a = 2; 却报 no-redeclare?
这不是配置失败,而是 ESLint 规则本身的行为:它默认只检查潜在错误和风格问题,不把 console.log 当错误。是否标红取决于你用的规则集(如 airbnb、standard)和 .eslintrc 里怎么写的。
- 想让
console报 warning,加这条到rules:"no-console": "warn" - 想禁用某条规则,在对应文件顶部加注释:
// eslint-disable-line no-console - 真正容易被忽略的是:ESLint 不检查未保存的文件。哪怕你写了满屏错误,只要没按
Ctrl+S,SublimeLinter-eslint 就不会跑 —— 它依赖文件磁盘状态触发校验











