模式验证失败,出现以下错误:数据路径“ .builders ['app-shell']”应具有必需的属性“ class”

时间:2019-06-11 11:16:57

标签: angular

Schema validation failed with the following errors:
  Data path ".builders['app-shell']" should have required property 'class'.

Schema validation failed with the following errors:
  Data path ".builders['app-shell']" should have required property 'class'.
Error: Schema validation failed with the following errors:
  Data path ".builders['app-shell']" should have required property 'class'.
    at MergeMapSubscriber._registry.compile.pipe.operators_1.concatMap.validatorResult [as project] (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\@angular-devkit\core\src\workspace\workspace.js:210:42)
    at MergeMapSubscriber._tryNext (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\rxjs\internal\operators\mergeMap.js:65:27)
    at MergeMapSubscriber._next (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\rxjs\internal\operators\mergeMap.js:55:18)
    at MergeMapSubscriber.Subscriber.next (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\rxjs\internal\Subscriber.js:64:18)
    at MergeMapSubscriber.notifyNext (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\rxjs\internal\operators\mergeMap.js:84:26)
    at InnerSubscriber._next (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\rxjs\internal\InnerSubscriber.js:25:21)
    at InnerSubscriber.Subscriber.next (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\rxjs\internal\Subscriber.js:64:18)
    at MapSubscriber._next (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\rxjs\internal\operators\map.js:52:26)
    at MapSubscriber.Subscriber.next (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\rxjs\internal\Subscriber.js:64:18)
    at SwitchMapSubscriber.notifyNext (D:\repo\beauty-velvettes-web\node_modules\@angular\cli\node_modules\rxjs\internal\operators\switchMap.js:77:26)

17 个答案:

答案 0 :(得分:43)

尝试将更新的package.json从“ @ angular-devkit / build-angular”:“ ^ 0.800.1”更改为“ ^ 0.12.4”

运行“ npm install”

参考:https://stackoverflow.com/a/56537342

答案 1 :(得分:14)

大多数答案是正确的,指出这是由于以下两者之间的不匹配造成的:

  • 节点版本和角度版本

OR

  • @angular-devkit/build-angular版本和棱角版本

此外,如果您执行以下任一操作,则最有可能发生此问题:

  1. 已升级/已降级的nodejs版本(已不再与角度版本兼容)

  2. 升级的棱角版本

  3. Ran npm audit fix

对于1,请在此处检查所需的nodejs版本支持:https://angular.io/guide/setup-local并检查已安装的版本。如果您使用的是最新版本的angular,则应该能够使其与最新版本的nodejs一起使用。

对于2,您是否遵循此处的说明:https://update.angular.io/?如果是,并且仍然有问题,请查找任何已创建的问题或在此处创建问题:https://github.com/angular/angular/issues

对于3,npm audit fix@angular-devkit/build-angular版本更新为更高版本,因为@angular-devkit/build-angular没有遵循正确的版本控制(主要发行版仍仅更新次要版本)。请参阅此处以检查兼容版本是否适用于您的棱角版本:https://www.npmjs.com/package/@angular-devkit/build-angular?activeTab=versions使用正确的版本,此问题将得到解决。

P.S:这是有关角度版本控制的好读物:https://angular.io/guide/releases

答案 2 :(得分:11)

这对我有用。

npm uninstall @angular-devkit/build-angular

npm install @angular-devkit/build-angular@0.13.0

答案 3 :(得分:5)

尝试使用@angular/core更新ng update @angular/cli @angular/core

答案 4 :(得分:5)

以下为我工作。

<inputDate/>

如果我们使用

避免:npm审核修复程序-f

它可能会产生问题,所以不要使用它。

答案 5 :(得分:4)

将@ angular-devkit / build-angular更新为“ ^ 0.13.9”。然后运行npm install 然后运行npm serve

规格:

角度:7.2.15
Angular CLI:7.3.9
节点:11.2.0
操作系统:darwin x64

答案 6 :(得分:3)

Angular Cli 8支持Node Js 10.9+。将Node.js更新到10.16之后,效果很好。

答案 7 :(得分:3)

只需从另一个链接

找到了这个答案
npm uninstall @angular-devkit/build-angular
npm install @angular-devkit/build-angular@0.13.0

答案 8 :(得分:3)

这对我有用

  1. npm卸载@ angular-devkit / build-angular
  2. npm install @ angular-devkit / build-angular @ 0.13.0

答案 9 :(得分:2)

我所做的是卸载并安装“ ^ 0.13.0”。 我确认/支持最后一个答案。它也对我有用。 我已经卸载了版本“ ^ 0.800.0”并安装了“ ^ 0.13.0”。 重建您的项目,它将正常工作。

答案 10 :(得分:1)

我在安装Bootstrap时遇到了这个问题。

以下命令对我有用:

ctrl-c

答案 11 :(得分:1)

这将为您解决问题:

  1. 通过运行命令ng update @angular/cli @angular/core
  2. 更新角度cli
  3. 分别运行命令ng sng build来运行或构建项目。

答案 12 :(得分:0)

这对我有用:

在package.json中

更改了“ @ angular-devkit / build-angular”:“ ^ 0.800.0”-> “ @ angular-devkit / build-angular”:“ ^ 0.10.0” 然后:

 npm install
 ng serve

规格:

Angular CLI:6.1.5 节点:10.15.3 操作系统:win32 x64 角度:6.1.9

答案 13 :(得分:0)

  1. 从当前项目打开cmd
  2. npm卸载@ angular-devkit / build-angular
  3. npm install --save-dev @ angular-devkit / build-angular

答案 14 :(得分:0)

将角度从6升级到8时出现相同的错误。

轻松将angular cli更新到最新版本,并将节点版本更新到10 +。

1)访问this link以获取最新的节点版本。 Angular 8需要10+。
2)执行 npm i @ angular / cli @ latest 来更新cli。


这就是我目前所拥有的

enter image description here

答案 15 :(得分:0)

我不得不说,如果您不想更改package.json文件中的任何内容,请尝试将Node.js版本更新为最新版本。 (当前为12.13.1 LTS)

答案 16 :(得分:0)

  1. 打开package.json
  2. 将“ @ angular-devkit / build-angular”:“ ^ 0.800.0”更改为“ @ angular-devkit / build-angular”:“ ^ 0.10.0”或更改为 “ @ angular-devkit / build-angular”:“ ^ 0.802.1” “ @ angular-devkit / build-angular”:“ ^ 0.13.9”
  3. 运行npm install
  4. 投放服务

原始版本可能会有所不同,但有必要将其更改为可解决问题的0.10.0或0.13.9版本