【问题标题】:Data path ".builders['app-shell']" should have required property 'class'. 2020 Update数据路径“.builders['app-shell']”应该具有必需的属性“类”。 2020 更新
【发布时间】:2021-01-28 02:21:13
【问题描述】:

已经尝试过 StackOverflow 论坛和其他论坛中的每一个选项,但没有运气。

试过了没用
npm 卸载 @angular-devkit/build-angular
npm 缓存清理 -f
npm install @angular-devkit/build-angular

删除了 node_modules 文件夹并运行 npm install,没有工作

已尝试卸载和安装@angular-cli

大多数答案来自去年或我正在使用的更旧版本的 Angular。请指教

在尝试使用 build --prod 进行部署时,我遇到了这些错误

 Schema validation failed with the following errors:
    2020-10-13 05:17:31 pm 0 ms output Data path ".builders['app-shell']" should have required property 'class'.
    2020-10-13 05:17:31 pm 2 ms output Error: Schema validation failed with the following errors:
    2020-10-13 05:17:31 pm 0 ms output Data path ".builders['app-shell']" should have required property 'class'.
    2020-10-13 05:17:31 pm 1 ms output at MergeMapSubscriber._registry.compile.pipe.operators_1.concatMap.validatorResult [as project] (/usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/core/src/workspace/workspace.js:215:42)
    2020-10-13 05:17:31 pm 0 ms output at MergeMapSubscriber._tryNext (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/mergeMap.js:69:27)
    2020-10-13 05:17:31 pm 0 ms output at MergeMapSubscriber._next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/mergeMap.js:59:18)
    2020-10-13 05:17:31 pm 1 ms output at MergeMapSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Subscriber.js:67:18)
    2020-10-13 05:17:31 pm 0 ms output at MergeMapSubscriber.notifyNext (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/mergeMap.js:92:26)
    2020-10-13 05:17:31 pm 0 ms output at InnerSubscriber._next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/InnerSubscriber.js:28:21)
    2020-10-13 05:17:31 pm 1 ms output at InnerSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Subscriber.js:67:18)
    2020-10-13 05:17:31 pm 0 ms output at MapSubscriber._next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/map.js:55:26)
    2020-10-13 05:17:31 pm 0 ms output at MapSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Subscriber.js:67:18)
    2020-10-13 05:17:31 pm 1 ms output at SwitchMapSubscriber.notifyNext (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/switchMap.js:86:26)
    2020-10-13 05:17:31 pm 0 ms output at Inner Subscriber. Next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/InnerSubscriber.js:28:21)
    2020-10-13 05:17:31 pm 0 ms output at InnerSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Subscriber.js:67:18)
    2020-10-13 05:17:31 pm 1 ms output at /usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/util/subscribeTo.js:17:28
    2020-10-13 05:17:31 pm 0 ms output at Object.subscribeToResult (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/util/subscribeToResult.js:10:45)
    2020-10-13 05:17:31 pm 1 ms output at SwitchMapSubscriber. Inner Sub (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/switchMap.js:65:54)
    2020-10-13 05:17:31 pm 0 ms output at SwitchMapSubscriber. Next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/switchMap.js:55:14)
    2020-10-13 05:17:31 pm 1 ms output Post-launch commands failed, but the current application symlink was updated.
    2020-10-13 05:17:31 pm 0 ms output logout
    2020-10-13 05:17:31 pm 1 ms failure Last exit code: 1
    Deployment has failed.

这是我的包文件

{
  "name": "sts-skin-angular",
  "version": "0.0.0",
  "scripts": {
    "ng-high-memory-serve": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng serve --port",
    "ng-high-memory-build": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng build",
    "ng-high-memory-build-prod": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng build --prod",
    "ng": "ng",
    "start": "npm run ng-high-memory-serve",
    "build": "npm run ng-high-memory-build --extract-css",
    "build:prod": "npm run ng-high-memory-build-prod",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "dev:ssr": "ng run sts-skin-angular:serve-ssr",
    "serve:ssr": "node dist/sts-skin-angular/server/main.js",
    "build:ssr": "ng build --prod && ng run sts-skin-angular:server:production",
    "prerender": "ng run sts-skin-angular:prerender"
  },
  "private": true,
  "dependencies": {
    "@agm/core": "^3.0.0-beta.0",
    "@angular-devkit/build-angular": "^0.1001.6",
    "@angular/animations": "~10.0.4",
    "@angular/cli": "^10.0.5",
    "@angular/common": "~10.0.4",
    "@angular/compiler": "~10.0.4",
    "@angular/compiler-cli": "~10.0.4",
    "@angular/core": "~10.0.4",
    "@angular/forms": "~10.0.4",
    "@angular/platform-browser": "~10.0.4",
    "@angular/platform-browser-dynamic": "~10.0.4",
    "@angular/platform-server": "~10.0.4",
    "@angular/router": "~10.0.4",
    "@nguniversal/builders": "^10.1.0",
    "@nguniversal/express-engine": "^10.0.1",
    "@ngx-translate/core": "^13.0.0",
    "@ngx-translate/http-loader": "^6.0.0",
    "@trademe/ng-defer-load": "^8.2.1",
    "@types/googlemaps": "^3.39.11",
    "buttercms": "^1.2.3",
    "express": "^4.15.2",
    "ng-image-slider": "^2.6.4",
    "ng6-toastr-notifications": "^1.0.4",
    "ngx-bootstrap": "^5.6.1",
    "ngx-cookie-service": "^10.0.1",
    "ngx-order-pipe": "^2.0.4",
    "ngx-pagination": "^5.0.0",
    "rxjs": "~6.6.3",
    "sweetalert": "^2.1.2",
    "tslib": "^2.0.0",
    "typescript": "~3.9.5",
    "zone.js": "~0.10.3"
  },
  "devDependencies": {
    "@types/express": "^4.17.0",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.0.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~3.3.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0"
  }
}

更新

<code>
Angular CLI: 10.0.5
Node: 13.7.0
OS: win32 x64

Angular: 10.0.7
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, platform-server
... router
Ivy Workspace: <error>

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.1001.6
@angular-devkit/build-angular     0.1001.6
@angular-devkit/build-optimizer   0.1001.6
@angular-devkit/build-webpack     0.1001.6
@angular-devkit/core              10.1.6
@angular-devkit/schematics        10.0.5
@angular/cli                      10.0.5
@ngtools/webpack                  10.1.6
@nguniversal/builders             10.1.0
@nguniversal/common               10.0.1
@nguniversal/express-engine       10.0.1
@schematics/angular               10.0.5
@schematics/update                0.1000.5
rxjs                              6.6.3
typescript                        3.9.7
webpack                           4.44.1
</code>

建议修复后更新 新版本和包文件

<code>
Angular CLI: 10.0.4
Node: 13.7.0
OS: win32 x64

Angular: 10.0.7
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, platform-server
... router
Ivy Workspace: <error>

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.1000.4
@angular-devkit/build-angular     0.1000.4
@angular-devkit/build-optimizer   0.1000.4
@angular-devkit/build-webpack     0.1000.4
@angular-devkit/core              10.0.4
@angular-devkit/schematics        10.0.4
@angular/cli                      10.0.4
@ngtools/webpack                  10.0.4
@nguniversal/builders             10.1.0
@nguniversal/common               10.1.0
@nguniversal/express-engine       10.1.0
@schematics/angular               10.0.4
@schematics/update                0.1000.4
rxjs                              6.6.3
typescript                        3.9.7
webpack                           4.43.0
</code>

<code>
{
  "name": "sts-skin-angular",
  "version": "0.0.0",
  "scripts": {
    "ng-high-memory-serve": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng serve --port",
    "ng-high-memory-build": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng build",
    "ng-high-memory-build-prod": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng build --prod",
    "ng": "ng",
    "start": "npm run ng-high-memory-serve",
    "build": "npm run ng-high-memory-build --extract-css",
    "build:prod": "npm run ng-high-memory-build-prod",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "dev:ssr": "ng run sts-skin-angular:serve-ssr",
    "serve:ssr": "node dist/sts-skin-angular/server/main.js",
    "build:ssr": "ng build --prod && ng run sts-skin-angular:server:production",
    "prerender": "ng run sts-skin-angular:prerender"
  },
  "private": true,
  "dependencies": {
    "@agm/core": "^3.0.0-beta.0",
    "@angular-devkit/architect": "^0.1000.4",
    "@angular-devkit/build-angular": "~0.1000.4",
    "@angular-devkit/core": "^10.0.4",
    "@angular/animations": "~10.0.4",
    "@angular/cli": "~10.0.4",
    "@angular/common": "~10.0.4",
    "@angular/compiler": "~10.0.4",
    "@angular/compiler-cli": "~10.0.4",
    "@angular/core": "~10.0.4",
    "@angular/forms": "~10.0.4",
    "@angular/platform-browser": "~10.0.4",
    "@angular/platform-browser-dynamic": "~10.0.4",
    "@angular/platform-server": "~10.0.4",
    "@angular/router": "~10.0.4",
    "@nguniversal/builders": "^10.1.0",
    "@nguniversal/express-engine": "^10.0.4",
    "@ngx-translate/core": "^13.0.0",
    "@ngx-translate/http-loader": "^6.0.0",
    "@trademe/ng-defer-load": "^8.2.1",
    "@types/googlemaps": "^3.39.11",
    "buttercms": "^1.2.3",
    "express": "^4.15.2",
    "ng-image-slider": "^2.6.4",
    "ng6-toastr-notifications": "^1.0.4",
    "ngx-bootstrap": "^5.6.1",
    "ngx-cookie-service": "^10.0.1",
    "ngx-order-pipe": "^2.0.4",
    "ngx-pagination": "^5.0.0",
    "rxjs": "~6.6.3",
    "sweetalert": "^2.1.2",
    "tslib": "^2.0.0",
    "typescript": "~3.9.5",
    "zone.js": "~0.10.3"
  },
  "devDependencies": {
    "@types/express": "^4.17.0",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.0.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~3.3.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0"
  }
}

</code>

【问题讨论】:

  • 运行 ng --version 并在您的问题中发布输出。
  • 已发布并更新,谢谢!
  • 您最近是否从 angular 9 更新到 angular 10 ?在错误发生之前你做了什么?

标签: node.js angular typescript npm rxjs


【解决方案1】:

您的 @angular/cli@angular-devkit/build-angular 版本不一致。 确保它们对齐。如果它们反映了您的其余 @angular 软件包 (10.0.4) 的版本,通常是安全的。所以将它们更新为:

"@angular-devkit/build-angular": "~0.1000.4",
"@angular/cli": "~10.0.4",

然后删除您的node_modules 文件夹并重命名您的锁定文件。

npm: package-lock.json -> package-lock.json.old
纱线:yarn.lock -> yarn.lock.old

运行 npm installyarn install 并构建您的应用。

如果一切正常,您可以删除旧的锁定文件package-lock.json.oldyarn.lock.old

您通常应该只使用 ng update 更新 Angular,因为这可能会运行重要的迁移。

【讨论】:

  • 还是同样的错误,用 ng --version 和包文件更新原帖
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
  • 1970-01-01
  • 2021-06-19
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
相关资源
最近更新 更多