将ESLint与sublime集成时出错

时间:2016-08-05 11:34:12

标签: node.js npm sublimetext3 eslint

我是Node.js,npm和sublime环境的新手,我发现很难将ESlint与sublime编辑器集成。

我遵循的步骤如下:

  1. 使用命令npm install -g eslint
  2. 安装ESLint
  3. 使用Sublime包控制安装ESLint
  4. 现在在Sublime编辑器中出现以下错误:

    module.js:327
        throw err;
        ^
    
    Error: Cannot find module 'eslint'
        at Function.Module._resolveFilename (module.js:325:15)
        at Function.Module._load (module.js:276:25)
        at Module.require (module.js:353:17)
        at require (internal/module.js:12:17)
        at Object.<anonymous> (C:\Users\MyUser\AppData\Roaming\Sublime Text 3\Packages\ESLint\linter.js:12:17)
        at Module._compile (module.js:409:26)
        at Object.Module._extensions..js (module.js:416:10)
        at Module.load (module.js:343:32)
        at Function.Module._load (module.js:300:12)
        at Function.Module.runMain (module.js:441:10)
    [Finished in 0.2s with exit code 1]
    

6 个答案:

答案 0 :(得分:23)

转到&#34;首选项/包设置/ ESLint /设置 - 用户&#34;在菜单栏中,输入以下内容(文件路径可能会有所不同):

{
  "node_path": "/usr/local/bin",
  "node_modules_path": "/usr/local/lib/node_modules"
}

这是GitHub页面:https://github.com/polygonplanet/sublime-text-eslint。向下滚动到&#34;配置ESLint&#34;部分,它都记录在那里。

答案 1 :(得分:2)

如果Jeremy的回答仍无效,请确保您的 npm 文件夹在您的环境变量中公开。

在Windows 7上,PATH将包含以下内容:

C:\Users\<YOUR_USERNAME>\AppData\Roaming\npm;

(位置:控制面板\所有控制面板项目\系统\高级系统设置\高级\环境变量\用户变量... \ PATH

答案 2 :(得分:2)

我通过编辑文件&#34;首选项 - &gt;让ESlint在Sublime Text 3和Win 7上为我工作。包装设置 - &gt; ESLint - &gt;设置 - 默认&#34;文件,为&#39;配置文件&#39;插入额外的第3个值。正如您在下面的屏幕截图中看到的那样:

Steps to follow for setting up ESlint on Sublime Text 3 with Win 7+

如果您不想看到屏幕截图,文件代码将如下所示:

{ "node_path": "C:/Program Files/nodejs",
"node_modules_path": "C:/Users/<UserName>/AppData/Roaming/npm/node_modules",
"config_file": "C:/Users/<UserName>/AppData/Roaming/npm/node_modules/eslint/node_modules/debug/.eslintrc"}

您可以在此处进一步查看配置支持哪些文件格式:https://eslint.org/docs/user-guide/configuring

答案 3 :(得分:0)

如果npm找不到eslint模块,则会发生此错误。

我遇到了同样的错误,我意识到这是因为node_modules_path不正确,"$HOME/.npm-global"而我只是将其更改为"$HOME/.npm-global/bin"(+ "/bin"),这对我有用。< / p>

答案 4 :(得分:0)

我在安装时遇到了这个问题:npm install -g eslint  通过下一个方式解决了这个问题:

  1. 从终端获知Eslint版本;

    eslint -v
    
  2. 使用已知的eslint版本

    在package.json中添加了一行依赖项
    "dependencies": {
    ...
    "eslint": "^4.19.1"
    }
    
  3. 最后一步:在终端i中更新了这个包中的所有内容.json

    npm install
    

答案 5 :(得分:0)

不确定,是否同时解决了此问题,但是a discussion几年前,已在每个项目的全局或本地安装eslint。据我了解的讨论,建议在本地安装eslint和eslint插件,以避免出现此问题。

为了将Eslint与Sublime一起使用,我在项目中使用以下命令安装了eslint:

npm install eslint --save-dev

此外,我安装了SublimeLinterSublimeLinter-eslint以便将Eslint集成到Sublime中,并在保存文件时让它运行。