簡體   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