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