Sublime Text装ESLint插件没反应,根本原因是Node环境、可执行路径或语法识别未正确配置;需先验证npx eslint --version能运行,再手动设置"executable"指向./node_modules/.bin/eslint,确保.vue文件语法设为Vue Component,并配置"lint_mode":"background"实现实时校验。

Sublime Text 本身不带 ESLint,装完插件没反应,不是你漏步骤,是链路断在了 Node 环境、路径或语法识别上。
确认本地 eslint 命令行能跑通
这是整个流程的起点。如果终端里 eslint --version 报 command not found,Sublime 一定失败——它不会报错,只会静默跳过。
- 别依赖全局安装:
npm install -g eslint容易被 nvm、多 Node 版本或权限搞乱;优先用项目级安装:npm install eslint --save-dev - 装完立刻验证:
npx eslint --version(确保项目根目录下运行) - 如果用
npx能跑,但直接eslint不行,说明node_modules/.bin没进 PATH,Sublime 更没法自动发现
SublimeLinter-eslint 的 executable 必须手动指定
插件默认不猜路径,尤其 Windows 和 macOS GUI 环境根本读不到 shell 的 PATH。填错路径=彻底失效。
- 打开 Preferences → Package Settings → SublimeLinter → Settings(用户设置)
- 写死
executable,指向项目内真实路径:{ "linters": { "eslint": { "executable": ["./node_modules/.bin/eslint"] } } } -
./是相对当前文件所在项目根目录,不是 Sublime 安装目录;Windows 用户别填eslint.cmd,填eslint即可(Node 自动匹配) - 如果项目用了 pnpm 或 yarn,路径可能是
./node_modules/.pnpm/.../eslint或./.yarn/sdks/eslint,得实际ls node_modules/.bin看清楚
.vue 文件要额外打通三处才能触发 lint
ESLint 默认不处理 .vue,即使装了 eslint-plugin-vue,缺任一环都白配。
- 右下角语法必须设为 Vue Component(不是 Vue、HTML 或 Vue Template),否则 Sublime 当纯文本处理
- 在 SublimeLinter 设置里给
eslint加参数:"args": ["--ext", ".js,.jsx,.ts,.tsx,.vue"]
-
.eslintrc.js中必须包含extends: ["plugin:vue/vue3-recommended"](Vue 3)或plugin:vue/vue2-recommended(Vue 2),且parserOptions.parser正确指向@babel/eslint-parser或vue-eslint-parser
lint_mode 设成 background 才实时标红
默认配置可能只在保存时检查,体验像“半残废”。要真·实时反馈,必须改模式。
- 在 SublimeLinter 用户设置中加:
"lint_mode": "background"
- 搭配
"args": ["--fix"]可实现保存时自动修复格式类问题(如引号、分号),但逻辑类规则(如vue/valid-define-props)不会修,只报错 - 如果开启后 CPU 占用高,说明项目过大或规则太重,可临时关掉
"disable": true或缩小paths监控范围
最常卡住的地方不是插件没装,而是 executable 路径填错、.vue 语法没手动绑定、或者 .eslintrc.* 文件名拼错(比如写成 .eslintrc.json 但实际是 .eslintrc.js)。这些地方一错,整个链路就断在第一环,连错误提示都不会出来。


















