繁体   English   中英

无法加载在“... » eslint-config-standard”中声明的插件“import”:找不到模块“eslint-plugin-import”

[英]Failed to load plugin 'import' declared in '... » eslint-config-standard': Cannot find module 'eslint-plugin-import'

我一直在尝试将 ESLint 与 Standard 一起使用,但我无法让它工作。 我尝试通过 eslint --init 进行设置,全局卸载 eslint 并在本地安装所有软件包,手动安装每个 package npm install --save-dev eslint eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node ,重新安装 ESLint 扩展,目前还没有。 我完全能够运行./node_modules/.bin/eslint --fix...来修复/检查错误,但它在任何意义上都不适用于 VSCode 扩展。 我没有更漂亮,所以它也与它无关。

Output:

[Info  - 12:33:20 AM] ESLint server is running.
[Info  - 12:33:23 AM] ESLint library loaded from: c:\Users\h08FXplsV8\Documents\dev\node\graphql-bootcamp\graphql-prisma\node_modules\eslint\lib\api.js
[Error - 12:33:25 AM] 
Failed to load plugin 'import' declared in 'graphql-prisma\.eslintrc » eslint-config-standard': Cannot find module 'eslint-plugin-import'
Require stack:
 - C:\Users\h08FXplsV8\Documents\dev\node\graphql-bootcamp\__placeholder__.js
Happened while validating C:\Users\h08FXplsV8\Documents\dev\node\graphql-bootcamp\graphql-prisma\src\resolvers\index.js
This can happen for a couple of reasons:
 - The plugin name is spelled incorrectly in an ESLint configuration file (e.g. .eslintrc).
 - If ESLint is installed globally, then make sure 'eslint-plugin-import' is installed globally as well.
 - If ESLint is installed locally, then 'eslint-plugin-import' isn't installed correctly.

.eslintrc:

{
    "env": {
        "es6": true,
        "node": true
    },
    "extends": [
        "standard"
    ],
    "globals": {
        "Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    },
    "parserOptions": {
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "rules": {
    }
}

我在 SO 中看到了与此问题相关的其他问题,但不幸的是,没有一个解决方案有效。

我有同样的问题好几个星期了,终于找到了这个帖子并评论了 Github: https://github.com/microsoft/vscode-eslint/issues/696#issuecomment-542592372

我的问题原来与子目录有关。 一旦我使该项目成为唯一具有 .eslintrc.js 文件的打开项目,我所有的 linting 问题都消失了。

希望这对你有用。

要修复依赖关系树,请尝试按确切顺序执行以下步骤

  1. 删除项目文件夹中的 package-lock.json(不是 package.json。)和/或 yarn.lock。
  2. 删除项目文件夹中的 node_modules。
  3. 从项目文件夹中 package.json 文件中的依赖项和/或 devDependencies 中删除“babel-eslint”。
  4. 运行 npm install 或 yarn,具体取决于您使用的 package 管理器。

另外,请确保您拥有最新版本的“eslint-plugin-import”插件,例如我的“2.20.1”版本出现此错误,但最新的“2.25.3”解决了这个问题

就我而言,我根本没有在开玩笑。

所以我不得不降级 de eslint dev 依赖:

"eslint": "^7.32.0",

正如这里所说: https://github.com/eslint/eslint/issues/15149#issuecomment-939501275

我遇到了由eslint-plugin-import依赖项引起的相同错误,在我的情况下,我通过升级到最新版本的 package 来消除错误。

对于那些在运行firebase init functions并尝试运行firebase deploy --only functions函数后出现 flutter firebase 云函数错误的用户:

ESLint: 8.9.0
 
Error: Failed to load plugin 'import' declared in '.eslintrc.js': Cannot find module 'es-abstract/2021/RequireObjectCoercible'
Require stack:
- C:\Users\xx\Documents\xx\xx\functions\node_modules\eslint-plugin-import\lib\ExportMap.js
- C:\Users\xx\Documents\xx\xx\functions\node_modules\eslint-plugin-import\lib\rules\named.js
- C:\Users\xx\Documents\xx\xx\functions\node_modules\eslint-plugin-import\lib\index.js
- C:\Users\xx\Documents\xx\xx\functions\node_modules\@eslint\eslintrc\dist\eslintrc.cjs

这是通过以下方式解决的:

  • 删除函数文件夹中的 node_modules
  • 删除功能文件夹中的 package-lock.json
  • cd.\functions\在终端中进入functions文件夹,运行npm i , cd../
  • firebase deploy --only functions

我也遇到了这个问题,这就是为什么我检查了这篇文章但没有看到任何对我有用的答案。 在网上搜索后,我偶然发现了这段代码,它解决了我的问题。

 npm i -D eslint @typescript-eslint/eslint-plugin

我希望这对你也有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM