版本

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 載入

解決方案

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

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

資源

如需更多資訊,請參閱

變更語言