Error: Schema validation failed with the following errors: Data path “” should NOT have additional properties(project)

后端 未结 14 2420
长发绾君心
长发绾君心 2020-12-28 12:46

After migrating application from angular 5 to 6, on running ng serve the following errors pop up.

Schema validation failed with the following errors:

相关标签:
14条回答
  • 2020-12-28 13:46

    Since I fixed the issue I thought it would be nice to post it here.

    I changed my file name .angular.json to angular.json and replaced some properties from the question in it.

    {
      "$schema": "./node_modules/@angular-devkit/core/src/workspace/workspace-schema.json",
      "version": 1,
      "newProjectRoot": "projects",
      "projects": {
        "template-appv6": {
          "root": "",
          "projectType": "application",
          "architect": {
            "build": {
              "builder": "@angular-devkit/build-angular:browser",
              "options": {
                "outputPath": "dist/browser",
                "index": "src/index.html",
                "main": "src/main.ts",
                "tsConfig": "src/tsconfig.app.json",
                "polyfills": "src/polyfills.ts",
                "assets": [
                  {
                    "glob": "**/*",
                    "input": "src/assets",
                    "output": "/assets"
                  },
                  {
                    "glob": "favicon.ico",
                    "input": "src",
                    "output": "/"
                  }
                ],
                "styles": [
                  "src/styles.scss"
                ],
                "scripts": []
              },
              "configurations": {
                "production": {
                  "optimization": true,
                  "outputHashing": "all",
                  "sourceMap": false,
                  "extractCss": true,
                  "namedChunks": false,
                  "aot": true,
                  "extractLicenses": true,
                  "vendorChunk": false,
                  "buildOptimizer": true,
                  "fileReplacements": [
                    {
                      "replace": "src/environments/environment.ts",
                      "with": "src/environments/environment.prod.ts"
                    }
                  ]
                }
              }
            },
            "serve": {
              "builder": "@angular-devkit/build-angular:dev-server",
              "options": {
                "browserTarget": "template-appv6:build"
              },
              "configurations": {
                "production": {
                  "browserTarget": "template-appv6:build:production"
                }
              }
            },
            "extract-i18n": {
              "builder": "@angular-devkit/build-angular:extract-i18n",
              "options": {
                "browserTarget": "template-appv6:build"
              }
            },
            "test": {
              "builder": "@angular-devkit/build-angular:karma",
              "options": {
                "main": "src/test.ts",
                "karmaConfig": "./karma.conf.js",
                "polyfills": "src/polyfills.ts",
                "tsConfig": "src/tsconfig.spec.json",
                "scripts": [],
                "styles": [
                  "src/styles.css"
                ],
                "assets": [
                  {
                    "glob": "**/*",
                    "input": "src/assets",
                    "output": "/assets"
                  },
                  {
                    "glob": "favicon.ico",
                    "input": "src",
                    "output": "/"
                  }
                ]
              }
            },
            "lint": {
              "builder": "@angular-devkit/build-angular:tslint",
              "options": {
                "tsConfig": [
                  "src/tsconfig.app.json",
                  "src/tsconfig.spec.json"
                ],
                "exclude": [
                  "**/node_modules/**"
                ]
              }
            },
            "server": {
              "builder": "@angular-devkit/build-angular:server",
              "options": {
                "outputPath": "dist/server",
                "main": "src/main.server.ts",
                "tsConfig": "src/tsconfig.server.json"
              }
            }
          }
        },
        "template-appv6-e2e": {
          "root": "",
          "projectType": "application",
          "cli": {},
          "schematics": {},
          "architect": {
            "e2e": {
              "builder": "@angular-devkit/build-angular:protractor",
              "options": {
                "protractorConfig": "./protractor.conf.js",
                "devServerTarget": "template-appv6:serve"
              }
            },
            "lint": {
              "builder": "@angular-devkit/build-angular:tslint",
              "options": {
                "tsConfig": [
                  "e2e/tsconfig.e2e.json"
                ],
                "exclude": [
                  "**/node_modules/**"
                ]
              }
            }
          }
        }
      },
      "cli": {},
      "schematics": {
        "@schematics/angular:component": {
          "prefix": "app",
          "styleext": "css"
        },
        "@schematics/angular:directive": {
          "prefix": "app"
        }
      }
    }
    

    I changed the file by replacing the angular.json file with properties in the angular official docs.

    The official Angular Update Guide provides a step by step guide on how to update versions.

    0 讨论(0)
  • 2020-12-28 13:48

    Angular Upgrade from 9 to 10 is very easy (all additional detail-information is here: https://update.angular.io/?v=9.0-10.0) :

    Make sure your package file is in version control and all changes have been committed. This will overwrite your package file. Better you try it in a new experimental branch.

    npm install -g npm-check-updates
    ncu -u
    ng update --all --force
    

    In the new schema, it is no more allowed to use the key es5BrowserSupport, remove the following line in your angular.json:

    "es5BrowserSupport": true
    

    then simple start your application anew:

    npm start
    
    0 讨论(0)
提交回复
热议问题