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

sigwle7e  于 2023-04-12  发布在  其他
关注(0)|答案(8)|浏览(463)

我一直在尝试将ESLint与Standard沿着使用,但一直无法让它正常工作。我尝试通过eslint --init设置它,全局卸载eslint并将所有软件包都放在本地,手动安装每个软件包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 ...来修复/检查错误,但它没有。我没有prettier,所以它也和它没有关系。
输出:

[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中看到过与此问题相关的其他问题,但不幸的是,没有一个解决方案有效。

cyvaqqii

cyvaqqii1#

我有同样的问题了很多个星期,最后在Github上找到了这个帖子和评论:https://github.com/microsoft/vscode-eslint/issues/696#issuecomment-542592372
我的问题原来与子目录有关。一旦我将该项目作为唯一一个带有. eslintrc.js文件的打开项目,我所有的linting问题都消失了。
希望这对你有用。

zphenhs4

zphenhs42#

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

6jjcrrmo

6jjcrrmo3#

要修复依赖关系树,请尝试按照these steps的确切顺序进行操作:
1.删除项目文件夹中的package-lock.json(不是package.json!)和/或yarn.lock。
1.删除项目文件夹中的node_modules。
1.从项目文件夹的package.json文件中的依赖项和/或devDependencies中删除“babel-eslint”。
1.运行npm install或yarn,这取决于你使用的包管理器。

enxuqcxy

enxuqcxy4#

我也遇到了同样的错误,是由eslint-plugin-import依赖引起的,在我的例子中,我通过增加到最新版本的软件包来消除这个错误。

kzmpq1sx

kzmpq1sx5#

对于那些在运行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

通过以下方式解决了该问题:

  • 删除函数文件夹中的节点模块
  • 删除函数文件夹中的package-lock.json
  • cd .\functions\在终端进入functions文件夹,运行npm icd ../
  • firebase deploy --only functions
dgsult0t

dgsult0t6#

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

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

j2qf4p5b7#

检查你运行的是哪个版本的Node。我也遇到过这个问题,记得我在以前的项目中运行的是一个更新得多的Node版本。在降级到与当前项目匹配的版本后,它运行得很好。顺便说一句,这里有一个管理Node版本的优秀解决方案。
https://github.com/tj/n

ie3xauqp

ie3xauqp8#

在我的情况下,我根本没有使用jest。
所以我不得不降级de eslint dev依赖:

"eslint": "^7.32.0",

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

相关问题