Sublime Text 找不到 eslint 命令,根本原因是 SublimeLinter-eslint 未调起 eslint 进程,需优先本地安装 eslint、通过文件夹打开项目、配置 "executable": ["./node_modules/.bin/eslint"] 并确保 .eslintrc.* 文件命名规范且位于项目根目录。

Sublime Text 找不到 eslint 命令?先确认终端能跑通
插件没反应,90% 是因为 Sublime 根本没调起 eslint 进程——它不报错,只静默跳过。打开终端,cd 到你的项目根目录,执行 eslint --version:如果报 command not found,那 Sublime 一定失败。
别依赖 npm install -g eslint:nvm/fnm 切换 Node 版本、权限问题、shell 环境与 Sublime 不一致(尤其 macOS 的 zsh + GUI 启动),都会导致全局命令在 Sublime 里不可见。
- 优先本地安装:
npm install eslint --save-dev - 验证路径是否存在:
ls node_modules/.bin/eslint(macOS/Linux)或dir node_modules\.bin\eslint(Windows) - Windows 用户注意:
executable填eslint就行,别写eslint.cmd;插件会自动补后缀
executable 路径填错是静默失效的主因
SublimeLinter-eslint 默认从系统 $PATH 查找 eslint,但在多 Node 环境(nvm/fnm)、WSL、或 macOS GUI 启动 Sublime 时,$PATH 往往和终端不一致。手动指定路径是最稳方案。
打开 Preferences → Package Settings → SublimeLinter → Settings(右侧用户设置),填入:
{
"linters": {
"eslint": {
"executable": ["./node_modules/.bin/eslint"]
}
}
}
-
./是相对项目根目录的路径,不是 Sublime 安装目录——Windows 用户常误填成绝对路径 - macOS/Linux 绝对路径示例:
"executable": ["/Users/you/project/node_modules/.bin/eslint"] - 验证方式:Ctrl+` 打开控制台,输入
import os; print(os.environ.get('PATH')),看输出是否含你which eslint的目录
.eslintrc.* 不生效?名字、位置、解析三者必须全对
ESLint 报 “no problems detected” 或只报基础错误,大概率是配置文件根本没加载。SublimeLinter-eslint 只认标准命名和位置。
- 只支持:
.eslintrc.js、.eslintrc.cjs、.eslintrc.json、.eslintrc.yml;eslint.config.js(v8.50+ 新格式)目前不支持 - 必须放在项目根目录,或其任意父级目录——但前提是 Sublime 是通过
Project → Add Folder to Project打开整个文件夹,而不是单个.js文件 - 验证是否被读取:终端进项目根,运行
eslint --print-config index.js,输出应含你写的规则;空输出或报错 = 配置未命中 - 避免写
"ecmaVersion": "latest":某些旧版 SublimeLinter-eslint 解析会崩溃,改用具体数字如2022
保存后不自动修复?--fix 不是默认行为
右下角显示 ESLint: 3 errors,悬停有提示但代码不动——这正常,不是 bug。SublimeLinter-eslint 默认只 lint,不 fix。
启用自动修复需显式加 "args": ["--fix"]:
{
"linters": {
"eslint": {
"executable": ["./node_modules/.bin/eslint"],
"args": ["--fix"]
}
}
}
-
--fix只安全修复格式类规则(引号、分号、缩进),逻辑类错误(如no-unused-vars)不会动代码 - 若项目用
eslint.config.js(新格式),必须显式指定:"args": ["--config", "${project}/eslint.config.js"] - Vue 单文件组件需额外安装 Vue Syntax Highlight 插件,并确保
.vue文件被识别为Vue Component,否则--ext .vue参数无效
实际配置里最易被忽略的是项目根目录识别方式和 executable 路径的相对性——不是“能不能找到 eslint”,而是“Sublime 在哪个路径下找”。











