การตรวจสอบสคีมาล้มเหลวโดยมีข้อผิดพลาดต่อไปนี้: เส้นทางข้อมูล“ .builders ['app-shell']” ควรมีคุณสมบัติที่ต้องการ 'class'


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

คำตอบ:



51

สิ่งนี้ได้ผลสำหรับฉัน

npm uninstall @angular-devkit/build-angular

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

1
ทำงานให้ฉันฉันมี Angular CLI: 7.1.4 Node: 10.7.0 Angular: 8.2.14 ขอบคุณ
Awais Khan


14

คำตอบส่วนใหญ่ถูกต้องในการระบุว่าสิ่งนี้เกิดขึ้นเนื่องจากความไม่ตรงกันระหว่าง:

  • เวอร์ชันโหนดและเวอร์ชันเชิงมุม

หรือ

  • @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


7
ขอบคุณที่โทรหาฉันnpm audit fix- นี่คือสิ่งที่ทำให้ฉัน
LHM

ใช่npm audit fixทำให้ฉันเช่นกัน
suntzu

12

Angular Cli 8 รองรับ Node Js 10.9+ หลังจากอัปเดต Node.js เป็น 10.16 ใช้งานได้ดี


ใช่นั่นเกิดขึ้นกับฉันเพราะฉันใช้ NVM เพื่อเปลี่ยนไปใช้เวอร์ชัน 8 และฉันลืมเปลี่ยนกลับไปใช้เวอร์ชัน 10 และฉันก็ได้รับข้อผิดพลาดนี้อย่างน่าประหลาดใจ!
Mohammad Kermani


5

ด้านล่างทำงานให้ฉัน

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

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

ถ้าเราใช้

AVOID : npm audit fix -f

มันอาจสร้างปัญหาดังนั้นอย่าใช้มัน


1
วิธีนี้ใช้ได้ผลสำหรับฉันและคุณพูดถูกการแก้ไขการตรวจสอบ npm เป็นสาเหตุ
Tatipaka

4

อัปเดต @ angular-devkit / build-angular เป็น "^ 0.13.9" จากนั้นเรียกใช้และหลังจากนั้นวิ่งnpm install npm serve

รายละเอียด:

Angular: 7.2.15
Angular CLI: 7.3.9
Node: 11.2.0
OS: darwin x64


คุณหมายถึงng serve?
melikesahin

ไม่แน่ว่า @melikesahin 'ng serve' อาจทำงานในรูปแบบที่แตกต่างกันในเวอร์ชันเชิงมุมเก่า 'npm install' และ 'npm serve' ทำงานได้ดีบน Angular: 7.2.15 และ Node11 เพื่อกำจัดข้อผิดพลาดที่กล่าวถึงข้างต้น หากคุณกำลังพิจารณาที่จะลอง 'ng serve' โปรดแบ่งปันผลลัพธ์ ขอบคุณ
Mr Pencilwoods

3

สิ่งที่ฉันทำคือการถอนการติดตั้งและติดตั้ง "^ 0.13.0" ฉันยืนยัน / สนับสนุนคำตอบสุดท้ายนี้ มันได้ผลสำหรับฉันเช่นกัน ฉันถอนการติดตั้งเวอร์ชัน "^ 0.800.0" และติดตั้ง "^ 0.13.0" สร้างโครงการของคุณใหม่มันจะทำงานได้ดี


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) ดำเนินการnpm i @ angular / cli @ latestเพื่ออัปเดต 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

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
  4. เรียกใช้ ng serve

เวอร์ชันดั้งเดิมอาจแตกต่างกันได้ แต่จำเป็นต้องเปลี่ยนเป็นเวอร์ชัน 0.10.0 หรือ 0.13.9 ที่แก้ไขปัญหาได้


0
  1. เปิด cmd จากโครงการปัจจุบัน
  2. npm ถอนการติดตั้ง @ angular-devkit / build-angular
  3. การติดตั้ง npm - บันทึก-dev @ angular-devkit / build-angular

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 Node: 10.15.3 OS: win32 x64 Angular: 6.1.9

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.