ESLint配置报错:无法读取@typescript-eslint的eslint-recommended配置
解决ESLint无法找到@typescript-eslint配置文件的问题
你遇到的问题核心是ESLint版本与@typescript-eslint插件版本不兼容,再加上配置文件里的一处语法错误,咱们一步步来解决:
1. 问题根源分析
你当前使用的eslint@5.16.0和@typescript-eslint/eslint-plugin@3.7.1版本不匹配。@typescript-eslint 3.x系列要求ESLint版本至少为6.0.0,低版本ESLint在解析插件配置文件时会忽略.js后缀,导致明明存在eslint-recommended.js文件,却被当成无后缀文件查找,最终报错。
另外你的.eslintrc.js里还有个低级错误:把extends字段写到了rules里面,这会导致配置解析异常。
2. 具体修复步骤
步骤1:升级ESLint及兼容依赖
先升级ESLint到6.x版本(eslint-config-airbnb@17支持ESLint 5.16.0或6.8.0+,选6.8.0能兼顾兼容性):
npm install eslint@^6.8.0 --save-dev
同步更新相关ESLint插件,确保版本匹配:
npm install eslint-plugin-import@^2.22.0 eslint-plugin-jsx-a11y@^6.3.1 eslint-plugin-react@^7.20.6 --save-dev
步骤2:修正.eslintrc.js配置错误
把错误嵌套在rules里的extends移到顶层,修正后的配置文件如下:
module.exports = { parser: "@typescript-eslint/parser", plugins: ["@typescript-eslint"], parserOptions: { ecmaVersion: 2020, sourceType: "module", ecmaFeatures: { jsx: true } }, settings: { react: { version: "detect" } }, extends: [ "plugin:react/recommended", "plugin:@typescript-eslint/recommended" ], rules: { // 这里放你的自定义规则,比如: // "@typescript-eslint/no-unused-vars": "warn" } };
步骤3:重装依赖并测试
删除旧的依赖缓存和锁文件,重新安装依赖:
rm -rf node_modules package-lock.json npm install
之后再执行lint命令验证:
npm run lint
这样应该就能彻底解决找不到配置文件的问题了。
内容的提问来源于stack exchange,提问作者Marcus Junius Brutus




