终端中的eslint无法找到模块' eslint-config-react-app'

时间:2017-06-28 10:45:47

标签: eslint create-react-app yarnpkg sublimelinter

我使用create-react-app制作反应应用程序。

linter在create-react-app中工作,但现在我想让它在我的sublimetext中工作。

  1. 已安装的eslint yarn global add eslint(eslint v4.1.1但也尝试过v3.19.0,因为反应应用程序使用了那个)
  2. 运行eslint --init并对其进行配置
  3. 转到项目目录并创建一个名为.eslintrc
  4. 的文件
  5. 内部文件:
  6. {
    "extends": "react-app"
    }
    
    1. 在项目目录eslint src/App.js
    2. 中运行
    3. 在终端中收到错误:

        

      引用自:/mnt/storage/Dev/newapp/.eslintrc   错误:无法找到模块' eslint-config-react-app'

           

      引用自:/mnt/storage/Dev/newapp/.eslintrc       在ModuleResolver.resolve(/home/user/.config/yarn/global/node_modules/eslint/lib/util/module-resolver.js:74:19)       at resolve(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:515:25)       在加载时(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:584:26)       在configExtends.reduceRight(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:421:36)       在Array.reduceRight(本机)       at applyExtends(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:405:28)       at loadFromDisk(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:556:22)       at Object.load(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:592:20)       在Config.getLocalConfigHierarchy(/home/user/.config/yarn/global/node_modules/eslint/lib/config.js:228:44)       在Config.getConfigHierarchy(/home/user/.config/yarn/global/node_modules/eslint/lib/config.js:182:43)

    4. 我添加了yarn global add babel-eslint eslint-plugin-react eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-flowtype。但我认为这不再是必要了!

4 个答案:

答案 0 :(得分:4)

我认为如果添加错误消息(eslint-config-react-app)中提到的模块,它应该有效吗?例如。 yarn add --dev eslint-config-react-app

答案 1 :(得分:2)

所以我发现你必须安装所有' eslint包全局。因为它不会让你处理全局的eslint和本地包

所以我做的是 yarn global add eslint@^3.19.0 eslint-plugin-jsx-a11y@^5.0.现在可行:|

答案 2 :(得分:0)

您的package-lock.json文件中可能存在配置错误,其中已删除了ESLint。我遇到了完全相同的问题,并通过以下方式解决了该问题:

  1. cd <your-project-directory>
  2. rm package-lock.json
  3. rm -rf node_modules
  4. npm install

您可以运行npm ls eslint --depth=99来验证eslint软件包是否已安装。我在GitHub上通过comment from feross偶然发现了这一点。

答案 3 :(得分:0)

首先安装此软件包,ESLint和必要的插件。

npm install --save-dev eslint-config-react-app babel-eslint@9.x eslint@5.x eslint-plugin-flowtype@2.x eslint-plugin-import@2.x eslint-plugin-jsx-a11y@6.x eslint-plugin-react@7.x

然后在项目的根文件夹中创建一个名为.eslintrc.json的文件,其中包含以下内容:

 {
  "root": true,
  "ecmaFeatures": {
    "jsx": true
  },
  "env": {
    "browser": true,
    "node": true,
    "jquery": true
  },
  "rules": {
    "quotes": 0,
    "no-trailing-spaces": 0,
    "eol-last": 0,
    "no-unused-vars": 0,
    "no-underscore-dangle": 0,
    "no-alert": 0,
    "no-lone-blocks": 0
  },
  "globals": {
    "jQuery": true,
    "$": true
  }
}

See Reference