错误 - ESLint: 7.32.0 ESLint 找不到要扩展的配置文件 "standard"。

3
我们有一个CircleCI流水线。我们安装了三年前的较旧版本的eslint,即5.10.0,并且现在客户想要升级节点版本到16并升级相关软件包。 我已经修改了package.json文件,并将eslint版本从"eslint": "^5.10.0"更改为"eslint": "^7.10.0"。 现在,在将更改推送到分支时,CircleCI测试执行失败,出现以下错误:

糟糕!出了些问题!:(

ESLint: 7.32.0

ESLint无法找到要扩展的配置“standard”。请检查配置名称是否正确。

配置“standard”是从“/home/xxx/xxx/.eslintrc.yml”中的配置文件引用的。

我已经搜索了这个问题,但没有找到合适的解决方案。
我尝试过:
  1. 通过猜测它可以自动创建来删除.eslintrc.yml文件。
  2. 尝试在package.json的脚本标记下运行命令yarn run eslint --init "scripts": { "test": "yarn run eslint --init && yarn lint && yarn flow && yarn jest", } 但是,在这里,使用了CircleCI流水线,因此eslint --init命令将询问问题 您想如何使用ESLint? 在自动化文件和测试执行期间,我们没有提供任何答案的规定。
1个回答

4

我曾遇到过类似的情况,出现这个错误是因为我的eslint版本比standard所需的版本要新。

以下是您可以尝试的一些步骤,以验证是否也是这种情况:

  • 在项目中本地运行npm init @eslint/config(会询问您一些问题并生成一个新的.eslint.{js|yml|json}文件)
  • 当被问及“你想遵循哪个样式指南?”时,请回答standard

这时,您应该会看到类似以下内容的提示信息:

The style guide "standard" requires eslint@^7.12.1. You are currently using eslint@{version}
Do you want to downgrade?

选择“No”会出现以下警告,尝试执行linting时会导致您提到的错误。
Note: it might not work since ESLint's version is mismatched with the standard config

在我的情况中,eslint版本存在主要区别(8.11.0),使问题更加明显,但它看起来与你遇到的问题非常相似。
如果您已经确定这确实是问题,请考虑以下一些替代方案可以帮助解决:
  • 降级eslint(简单易行,但从长远来看,如果您希望依赖项保持最新状态,则不适用)
  • 切换到另一个样式指南,该指南与eslint版本没有此限制(例如,建议使用airbnb或google的配置设置)
  • 直接使用standard而不是通过eslint进行检查
在js领域,我不是专家,如果有遗漏的地方,请随时指出。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接