版本

ESLint 找不到要從 … 擴充的設定檔

症狀

當使用舊版 ESLint 設定系統時,您可能會在安裝依賴項後執行 ESLint 時看到此錯誤

ESLint couldn't find the config "${configName}" to extend from. Please check that the name of the config is correct.

The config "${configName}" was referenced from the config file in "${importerName}".

原因

ESLint 設定檔在其 extends 陣列中依套件名稱指定可共用的設定。該套件名稱會傳遞給 Node.js require(),後者會在本地 node_modules/ 目錄下查找該套件。例如,以下 ESLint 設定將首先嘗試載入位於 node_modules/eslint-config-yours 的模組

module.exports = {
    extends: ["eslint-config-yours"],
};

當您嘗試從設定擴充,但在任何搜尋到的 node_modules/ 中都找不到該設定的套件時,就會輸出此錯誤。

發生此情況的常見原因包括

  • 未執行 npm install 或等效的套件管理器命令
  • 錯誤輸入套件和/或設定的區分大小寫名稱

設定名稱變體

請注意,ESLint 支援多種設定名稱格式

  • 為了簡潔起見,可以省略 eslint-config- 設定名稱前綴,例如 extends: ["yours"]
    • @ npm 作用域套件eslint-config- 前綴放在組織作用域之後,例如 extends: ["@org/yours"] 以從 @org/eslint-config-yours 載入
  • plugin: 前綴表示設定是從共用外掛程式載入的,例如 extends: [plugin:yours/recommended] 以從 eslint-plugin-yours 載入

解決方案

此問題的常見解決方案包括

  • 將所有套件的所有版本升級到最新版本。
  • 將設定作為 devDependency 新增到您的 package.json 中。
  • 執行 npm install 或等效的套件管理器命令。
  • 檢查您的設定檔中的名稱是否與設定套件的名稱相符。

資源

如需更多資訊,請參閱

變更語言