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


106
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)

Answers:



43

这对我有用。

npm uninstall @angular-devkit/build-angular

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

1
为我工作,我使用了Angular CLI:7.1.4节点:10.7.0 Angular:8.2.14谢谢
Awais Khan




9

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

  • 节点版本和角度版本

要么

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

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

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

  2. 升级角度版

  3. 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使用正确的版本,此问题将得到解决。

PS:这是有关角度版本控制的很好的阅读:https : //angular.io/guide/releases


4
谢谢您的要求npm audit fix-这就是造成我的原因。
LHM

3

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


3

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

眼镜:

Angular CLI:7.3.9节点:11.2.0 OS:darwin x64 Angular:7.2.15


你是说ng serve
喜欢

3

这对我有用

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

2

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


2

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

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

1)参观 此链接以获取最新的节点版本。Angular 8需要10+。
2)在@ angular / cli @ latest中执行npm以更新cli。


这就是我目前所拥有的

在此处输入图片说明


1

这将为您解决问题:

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

1

安装Bootstrap时出现此问题。

以下命令对我有用:

npm uninstall @angular-devkit/build-angular

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

1

下面为我​​工作。

> 1. npm uninstall @angular-devkit/build-angular 

> 2. npm install @angular-devkit/build-angular@0.13.0

如果我们使用

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

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


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版本


0
  1. 从当前项目打开cmd
  2. npm卸载@ angular-devkit / build-angular
  3. npm install --save-dev @ angular-devkit / build-angular
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.