当我尝试 lint 文件时,Sublime 文本编辑器 ESLint 插件就像未安装 ESLint 一样

Sublime text editor ESLint plugin acts like ESLint not installed when I try to lint file

提问人:dennis 提问时间:5/26/2023 最后编辑:dennis 更新时间:5/27/2023 访问量:76

问:

按照 https://packagecontrol.io/packages/ESLint 中的说明,我安装了 Node.JS,然后安装了 ESLint,然后打开 Sublime Text Editor,并按照说明使用命令面板安装了 ESLint 软件包。但是当我尝试使用 CTRL-ALT-E 对 javascript 文件进行 lint 检查时,我在崇高的文本控制台中收到以下错误消息,指出它找不到文件 ESLint。即使我可以清楚地看到 Sublime text 的 Package Settings and Tools 菜单中列出的 ESLint 命令,包括对打开的文件进行 lint 检查的选项,它的行为就好像没有安装程序一样。

这是我在 Sublime Text 控制台中收到的错误消息:

node:internal/modules/cjs/loader:1078
  throw err;
  ^

Error: Cannot find module 'eslint'
Require stack:
- C:\Users\Dennis\AppData\Roaming\Sublime Text 3\Packages\ESLint\linter.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
    at Function.resolve (node:internal/modules/cjs/helpers:116:19)
    at Object.<anonymous> (C:\Users\Dennis\AppData\Roaming\Sublime Text 3\Packages\ESLint\linter.js:19:13)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\\Users\\Dennis\\AppData\\Roaming\\Sublime Text 3\\Packages\\ESLint\\linter.js'
  ]
}

Node.js v18.16.0
[Finished in 113ms]

这是我第二次卸载 Node 并重新安装它之后,然后尝试按照上述说明重新安装 ESLint 和 Sublime Text 的 ESLint 插件。在这一点上,我不知道从哪里开始故障排除。

我正在使用 sublime build 4143,sublime 更新功能确认这是最新版本。

预计在 sublime 中运行 ESLint,并为任何不符合 Sublime 默认语法规则的代码获取语法高亮显示。

为解决这一问题而采取的措施的最新情况。按照为sublime文本插件配置node_path设置的建议,我打开了Sublime,转到菜单首选项->包设置->ESLine->设置-User,并更改了ESLint.sublime-settings--User文件,如下所示:

  // The directory location of your `node` executable lives. If this is not
  // specified, then it is expected to be on Sublime's environment path.
  //
  // On OSX, for example: "/usr/local/bin"
  // Example for nodebrew: "$HOME/.nodebrew/current/bin"
  // Example for Windows: "C:/Program Files/nodejs"
  "node_path": "C:/Program Files/nodejs"

那是我的节点可执行文件和文件夹所在的位置,而 Sublime Text 实际上位于我的另一个硬盘驱动器 E 上:

我尝试关闭 sublime 并重新打开它,在 sublime 中运行 ESLint 仍然给出相同的错误。

节点.js eslint sublimetext4 eslint-plugin

评论

0赞 MattDMo 5/26/2023
一些问题:安装 Node 后,您是否成功运行?其次,您是否在插件的设置(而不是文件)中进行了配置?另外,您是否在安装 Node 和模块后重新启动了 Sublime?npm install -g eslint"node_path".eslintrceslintnpm
0赞 dennis 5/27/2023
我将不得不研究和尝试其他建议。
0赞 dennis 5/27/2023
所以我尝试了上面 MattDMo 的建议,同样的错误消息,请查看我对问题正文的编辑。不过,我有一个关于他说通过 npm 安装 Node 和 eslint 是什么意思的问题。我在终端中使用 npm 全局安装了 eslint,同时通过他们的网站下载了 Node 18 并运行了他们提供的安装程序,如以下教程所示:treehouse.github.io/installation-guides/windows/...。这有什么不同吗?
0赞 dennis 5/27/2023
这是我使用 npm 安装 eslint 时看到的内容:[Web Dev]: /vagrant/src $ npm install -g eslint /home/vagrant/.nvm/versions/node/v7.2.0/bin/eslint -> /home/vagrant/.nvm/versions/node/v7.2.0/lib/node_modules/e slint/bin/eslint.js + [email protected] added 1 package, removed 2 packages and updated 6 packages in 14.402s
1赞 MattDMo 5/27/2023
Sublime、Node 和 都需要安装在同一个操作系统中,这样它们才能看到彼此。特别是 Sublime 需要能够使用 Node 来运行。安装在VM(Linux)中后,Sublime无法从Windows中看到它,因此错误消息为:。将所有内容放在同一个操作系统中,它应该可以工作。npmeslinteslinteslintError: Cannot find module 'eslint'

答: 暂无答案