找不到指定项目的 "lint" 目标或数据路径“”必须具有必需的 属性 'lintFilePatterns'

Cannot find "lint" target for the specified project OR Data path "" must have required property 'lintFilePatterns'

根据 this tutorial 将我的项目结构更改为 Angular 中的 monorepo 结构后,我遇到了许多配置错误,经过大量故障排除后我设法解决了这些错误。

完整错误为

Cannot find "lint" target for the specified project.

You should add a package that implements linting capabilities

此错误的变体为

Schema validation failed with the following errors:  
Data path "" must have required property 'lintFilePatterns'.

这两个错误都可以通过 angular.json.

的正确配置来修复

在下面找到修复的详细信息

转到angular.json -> <your-projects-root-directory> -> <your-project-name> -> architect并添加或修改

"lint": {
          "builder": "@angular-eslint/builder:lint",
          "options": {
            "lintFilePatterns": [
              "<your-projects-root-directory>/<your-project-name>/src/**/*.ts",
              "<your-projects-root-directory>/<your-project-name>/src/**/*.html"
            ]
          }
        },

这告诉 ng lint 命令在相应的项目(构建器)中使用哪个 linter 以及要 lint 的文件(lintFilePatterns)。

通常,您的项目根目录名为 projects。 例如,如果您使用 tslint,您可能必须用另一个 linter 替换 "builder" 属性。有关详细信息,请参阅您的 package.json

请记住为 angular.json 中定义的所有项目设置此项。

可以使用以下方式自动添加所需的配置:

ng add @angular-eslint/schematics

来自Angular ESLint README