在构建有角度的应用程序时如何解决“架构验证错误”

时间:2019-06-11 16:47:08

标签: angular typescript

我目前使用的是Angular 7.1,每当我运行ng build来构建项目时,都会收到架构验证错误。请我需要帮助

运行ng服务完美无误

下面是错误日志

  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] F:\sageProjects\myriad-app\node_modules\@angular-devkit\core\src\workspace\workspace.js:215:42)
    at MergeMapSubscriber._tryNext F:\sageProjects\myriad-app\node_modules\rxjs\internal\operators\mergeMap.js:69:27)
    at MergeMapSubscriber._next F:\sageProjects\myriad-app\node_modules\rxjs\internal\operators\mergeMap.js:59:18)
    at MergeMapSubscriber.Subscriber.next F:\sageProjects\myriad-app\node_modules\rxjs\internal\Subscriber.js:67:18)
    at MergeMapSubscriber.notifyNext F:\sageProjects\myriad-app\node_modules\rxjs\internal\operators\mergeMap.js:92:26)
    at InnerSubscriber._next F:\sageProjects\myriad-app\node_modules\rxjs\internal\InnerSubscriber.js:28:21)
    at InnerSubscriber.Subscriber.next F:\sageProjects\myriad-app\node_modules\rxjs\internal\Subscriber.js:67:18)
    at MapSubscriber._next (F:\sageProjects\myriad-app\node**strong text**_modules\rxjs\internal\operators\map.js:55:26)
    at MapSubscriber.Subscriber.next (F:\sageProjects\myriad-app\node_modules\rxjs\internal\Subscriber.js:67:18)
    at SwitchMapSubscriber.notifyNext (F:\sageProjects\myriad-app\node_modules\rxjs\internal\operators\switchMap.js:86:26)

2 个答案:

答案 0 :(得分:1)

尝试更新package.json文件,以使"@angular-devkit/build-angular": "^0.800.1"读取"@angular-devkit/build-angular": "^0.12.4"

然后在命令行中运行npm install

答案 1 :(得分:0)

非常感谢我通过以下操作解决了此问题:

  • 在我的项目文件夹中,右键单击并转到属性以取消选中“只读”属性     
  • https://ejs.org/en/download/current/下载并安装了nodejs     
  • 我使用ng update @angular/cli @angular/core更新了角度     
  • 如果像我一样遇到错误,请运行npm install,将提示您运行npm audit fix

  • 最后,我运行了ng build,没有错误/。 NB:我以Windows Powershell作为管理员执行了所有命令