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
或等效的套件管理員命令 - 檢查設定檔中的名稱是否與設定套件的名稱相符
資源
如需更多資訊,請參閱
- 舊版 ESLint 設定檔,以取得舊版 ESLint 設定格式的說明文件
- 舊版 ESLint 設定檔 > 使用可共享的設定套件,以取得使用可共享設定的說明文件
- 分享設定,以取得如何定義獨立共享設定的說明文件
- 建立外掛 > 外掛中的設定,以取得如何在外掛中定義共享設定的說明文件