Galat: Jalur data ".builders ['app-shell']" harus memiliki properti 'kelas'

160

Saya mendapatkan kesalahan ini saat menjalankan aplikasi saya. Berikut ini rincian aplikasi saya.

Angular CLI: 7.3.3 
Node: 10.15.1 
Angular: 7.2.7 
@angular-devkit/architect -0.13.3 
@angular-devkit/build-angular- 0.800.1 
@angular-devkit/build-optimizer - 0.800.1 
@angular-devkit/build-webpack - 0.800.1 
@angular-devkit/core -7.3.3 
@angular-devkit/schematics -7.3.3 
@angular/cli -7.3.3 
@ngtools/webpack -8.0.1 
@schematics/angular -7.3.3 
@schematics/update 0.13.3 
rxjs 6.3.3 
typescript 3.2.4 
webpack 4.30.0

Saya sudah mencoba membersihkan cache.

Ekta Gandhi
sumber
Inilah detail aplikasi saya. CLI Angular: 7.3.3 Node: 10.15.1 Angular: 7.2.7 @ angular-devkit / architect -0.13.3 @ angular-devkit / build-angular- 0.800.1 @ angular-devkit / build-optimizer - 0.800.1 @ angular-devkit / build-webpack - 0.800.1 @ angular-devkit / core -7.3.3 @ angular-devkit / schematics -7.3.3 @ angular / cli -7.3.3 @ ngtools / webpack -8.0.1 @schematics / angular -7.3.3 @ schematics / update 0.13.3 rxjs 6.3.3 typescript 3.2.4 webpack 4.30.0
Ekta Gandhi
1
Masalah ini umumnya karena paket yang tidak kompatibel. Sudahkah Anda memperbarui package.json?
Deepika
7
Akhirnya saya menemukan solusinya. 1) Pertama-tama hilangkan semua perubahan pada file package.json dengan memberikan perintah git checkout. Package.json. 2) Kemudian setelah melakukan perubahan pada package.json di @ angular-devkit / build-angular- ~ 0.800.1 (Tambahkan tail bukan cap) 3) Kemudian jalankan perintah rm -rf node_modules / 4) Kemudian bersihkan tangkapan dengan memberikan perintah npm clean cache -f 5) Dan pada akhirnya jalankan perintah npm install. Ini bekerja untuk saya.
Ekta Gandhi
1
Di atas, npm clean cache -fitu salah, seharusnya npm cache clean --force.
Fabien Haddadi
2
Apa yang saya temukan adalah bahwa saya telah mengatur nvm untuk menggunakan versi node yang salah, diperlukan untuk mengatur dengan benar menggunakan nvm use 12.14.01(dalam kasus saya)
QuietSeditionist

Jawaban:

173

Di package.json Anda, ubah pembuat devkit.

"@angular-devkit/build-angular": "^0.800.1",

untuk

"@angular-devkit/build-angular": "^0.10.0",

ini bekerja untuk saya.
semoga berhasil.

idirene youcef
sumber
31
Berhasil @angular-devkit/build-angular": "0.13.4"dan berhasil.
Dimuthu
3
Sempurna. Bekerja dengan "0.13.4", dan menjalankan npm build sesudahnya
SouravOrii
1
Mendarat di sini karena saya mendapat pemberitahuan tentang kerentanan keamanan yang terdeteksi di js-yaml <3.13.1. Setelah memperbarui saya mendapat pesan kesalahan ini. Bagaimanapun, "^0.10.0"perbaiki.
Alesh Houdek
11
0.13.4 bekerja untuk saya, namun pastikan Anda menghapus folder node_modules terlebih dahulu, hapus package-lock.json dan kemudian jalankan npm install. tampaknya memperbaiki semuanya.
Indy-Jones
5
Solusi ini berfungsi tetapi salah, Anda harus meng-upgrade versi clari sudut dan sudut. Lihat jawaban @ovangle di bawah ini
Francesco Borzi
101

Mengikuti berhasil untuk saya

npm uninstall @angular-devkit/build-angular
npm install @angular-devkit/[email protected]
abasar
sumber
3
Meskipun jawaban ini langsung, tetapi juga tidak memiliki sumber daya atau referensi. Orang buta secara langsung untuk menginstal versi paket tertentu dapat mengganggu seluruh proyek mereka. Harap jelas dan berikan beberapa referensi.
Zakky
70

Semua orang di sini memfokuskan pada penurunan versi @ angular-devkit / build-angular ke @angular 7.x untuk kompatibilitas, tetapi yang harus mereka lakukan adalah memutakhirkan@angular/cli ke versi 8 sudut.

Masalahnya adalah bahwa sistem cli masih terjebak pada versi lama dan tidak diperbarui secara otomatis oleh ng update (karena berada di luar proyek yang dikontrol sudut), sehingga sedang ditinggalkan di versi yang tidak kompatibel ketika mencoba mengakses perpustakaan sudut.

Penurunan peringkat @angular-devkit/build-angularhanya menyebabkan lebih banyak ketidakcocokan.

npm i --global @angular/cli@latest

akan memperbaiki masalah tanpa merusak barang-barang di tempat lain.

berbentuk bulat panjang
sumber
6
Ini seharusnya jawabannya. Kesalahan ini terjadi pada saya karena saya menarik dari cabang yang telah diperbarui ke Angular 8 tetapi sudut komputer saya masih Angular 7.
terahertz
19
masalah ini dapat terjadi ketika Anda melakukan npm audit fixpada proyek yang masih aktif angular@7sehingga terkadang penurunan peringkat @angular-devkit/build-angularadalah jawaban yang benar
Xesenix
4
menjalankan npm audit fixterkadang memperkenalkan perubahan pengereman. kita harus berlari npm audituntuk memahami temuan dan meningkatkan paket 1 dengan 1 menggunakan sesuatu sepertinpm i --save-dev <package@version>
Naren
1
@ Zhuhang Itu benar-benar salah. Anda dapat mengharapkan peningkatan CLI global agar kompatibel dengan beberapa versi terakhir, Anda tidak dapat mengharapkan itu kompatibel ke depan.
Ovangle
1
@ovangle Saya tidak menyebutkan forward yang kompatibel. Saya mengatakan bahwa orang tidak harus secara membabi buta meng-upgrade atau menurunkan versi, terutama angular-cliversi. Seseorang harus mengidentifikasi versi CLI mereka saat ini dan menggunakan devkit yang cocok dengan CLI itu. Jika Anda ingin memutakhirkan paket devkit, maka memutakhirkan CLI semuanya benar.
zhuhang.jasper
62

Semua orang berfokus pada menurunkan @angular-devkit/build-angularversi ke X, atau meningkatkan@angular/cli versi ke Y atau terbaru.

Namun, Tolong jangan menyarankan secara membutaX or Y or latest sebagai jawaban. (Meskipun biasanya, menurunkan versi devkit harus lebih baik karena meningkatkan CLI adalah perubahan besar)

Versi yang benar untuk dipilih, selalu tergantung pada versi Angular Anda (angular-cli).

Angular CLI v8.3.19 -> 0.803.19
Angular CLI v8.3.17 -> 0.803.17
Angular CLI v7.3.8 -> 0.13.8
Angular CLI v6-lts -> 0.8.9

Untuk versi spesifik lainnya, kunjungi: https://github.com/angular/angular-cli/tags . Temukan versi CLI Anda, dan di beberapa tag, mereka menyebutkan versi yang sesuai untuk @angular-devkit/**paket.

Catatan: Jika Anda ingin meningkatkan versi CLI Anda, Anda harus mempertimbangkan untuk memutakhirkan ke versi terbaru utama Anda, jangan langsung beralih ke versi utama berikutnya.

zhuhang.jasper
sumber
3
Tidak yakin mengapa jawaban ini tidak dipilih; itu saran yang bagus. Bahkan, itu menyelesaikan masalah saya (karena saya telah meningkatkan devkit/build-angularpaket saya ke 0.803.xtetapi meninggalkan CLI Angular saya 7.3.x. Karena saya tidak berniat untuk meningkatkan CLI Angular saya, saya kembali menggunakan ver 0.13.xdari devkit
Gregg L
2
@GreggL Sebenarnya, jawaban saya lebih baik daripada yang paling banyak mendapat upvotes. Jawaban lain hanya menyarankan untuk memutakhirkan / menurunkan BLINDLY. Seperti jawaban saya menyarankan, versi CLI / devkit yang benar berkorelasi, tetapi tidak ada yang memberikan nilai F, karena itulah komunitas dev.
zhuhang.jasper
Anda seorang penyelamat, tx! Tetapi apakah Anda punya ide untuk cli 7.0.6? Itu tidak ditulis di sana
Erhan Yaşar
2
Untuk menambah jawaban yang bagus ini: Dalam proyek saya sendiri, saya menyertakan @angular/clidependensi dev dan saya memastikannya cocok dengan @angular-devkit/build-angular. Dengan begitu saya dapat mempertahankan beberapa proyek dengan beberapa versi CLI. Jika Anda melakukannya ng sakan menggunakan CLI komputer Anda, jika Anda melakukannya npm start(yang merupakan skrip package.jsonuntuk melakukannya ng serveakan benar-benar menggunakan CLI lokal itu meluncurkan aplikasi ini dengan CLI yang tepat. Semoga ini bisa membantu
ma
Diperbarui untuk Angular 9, pada hari ini (sumber NPM ): 0.901.1 -> terbaru, 0.1000.0-next.0 -> selanjutnya, 0.8.9 -> v6-lts, 0.803.26 -> v8-lts, 0.13 .10 -> v7-lts
Massimiliano Caniparoli
30

@ Angular-devkit Anda tidak kompatibel dengan versi @ angular / cli, jadi instal yang lebih lama seperti ini misalnya:

npm install @angular-devkit/[email protected] @angular-devkit/[email protected]
justForThisQuestion
sumber
Ingin memposting yang sama. Terlihat 0.12.4melayang-layang, tetapi ini tidak berhasil untuk saya.
M. Doe
@ M.Apakah Versi yang benar tergantung pada versi 1angular-cli` Anda. Lihat ini: stackoverflow.com/a/59043569/6122411
zhuhang.jasper
22

Masalah yang sama setelah mencoba memutakhirkan ke Ng8 yang gagal karena masalah ketergantungan.

npm uninstall @angular-devkit/build-angular

lalu saya gunakan,

npm install @angular-devkit/[email protected]

memperbaikinya ...

Alfa Bravo
sumber
terkadang solusi ini tidak layak karena versinya mungkin bukan kebutuhan seseorang. Hapus kunci paket jsonnpm i @angular-devkit/build-angular
Tejashree
14

Saya memiliki masalah yang sama, tetapi saya menyelesaikannya berkat komentar Ekta Gandhi:

Akhirnya saya menemukan solusinya.

1) Pertama-tama hilangkan semua perubahan pada file package.json dengan memberikan perintah git checkout. Package.json.

2) Kemudian setelah melakukan perubahan pada package.json di @ angular-devkit / build-angular- ~ 0.800.1 (Tambahkan tail bukannya cap)

3) Kemudian jalankan perintah rm -rf node_modules /

4) Kemudian bersihkan catch dengan memberikan perintah npm clean cache -f

5) Dan akhirnya jalankan perintah npm install. Ini bekerja untuk saya.

.... Bersamaan dengan modifikasi yang diusulkan oleh Dimuthu

Berhasil ke @ angular-devkit / build-angular ":" 0.13.4 "dan berhasil.

Alejandro Araujo
sumber
Perlu dicatat bahwa versi "0.13.4" dari @ angular-devkit / build-angular memiliki masalah ketika menggunakan komponen yang dimuat malas. Untuk menghindari masalah itu, pengguna perlu memperbarui paket @ angular-devkit / build-angular mereka ... Jadi, tukar-menukar di sini ...
Adan
7

Ini terjadi pada saya ketika saya menginstal Angular 8, ada beberapa ketidakcocokan yang tidak dapat saya pecahkan. Saya harus menurunkan versi karena saya pergi ke lubang kelinci juggling dengan setiap versi sampai saya menemukan satu yang berfungsi.

Pertama, TypeScript sudah usang, instalasi default menambahkan referensi ke TypeScript 3.1.6 dan membutuhkan 3,4 atau lebih besar.

npm install typescript@">=3.4 <3.5"

Kedua, menggunakan devkit 0.800.1 atau 0.800.1 selalu berakhir dengan ketidakcocokan. Saya mencoba banyak kombinasi tetapi saya tidak yakin itu sepenuhnya kompatibel, khususnya karena saya menggunakan satu bootstrap sedikit lebih tua dan saya belum bisa memutakhirkan.

Akhirnya saya mencoba untuk menurunkan versi (buka package.json dan temukan devDependencies) sampai salah satunya bekerja.

@angular-devkit/build-angular": "0.13.4"

Saya yakin masalah Anda adalah versi dependensi tetapi saya tidak dapat memberi tahu Anda yang mana. Cobalah downgrade.

Maximiliano Rios
sumber
Sementara itu berfungsi, saya akan menyarankan @angular-devkit/build-angular": "0.13.8"karena tampaknya ini adalah versi terbaru yang berfungsi
M. Doe
Terima kasih banyak. Tampaknya oleh versi bootstrap atau dependensi jangan biarkan aku pergi lebih tinggi dari 0.13.4 tetapi itu akan berhasil bagi banyak orang
Maximiliano Rios
Dengan 0.13.8 (pada dasarnya apa pun yang lebih rendah dari 0,800. *) Saya dapatkan: An unhandled exception occurred: Could not find the implementation for builder @angular-devkit/build-angular:browser See "/tmp/ng-5iKcHN/angular-errors.log" for further details.Dengan versi terbaru saya mendapatkan kesalahan dari judul. Apa yang harus dilakukan sekarang?
Dominik Szymański
7

Coba perbarui file package.json dari

  "@angular-devkit/build-angular": "^0.800.1" 

untuk

  "@angular-devkit/build-angular": "^0.12.4"

Kemudian jalankan npm install di baris perintah.

Nadeem Qasmi
sumber
6

Saya juga menemukan masalah ini dan bagi saya ketika melakukan pembaruan lebih banyak masalah terjadi.

Apa yang berhasil bagi saya pada akhirnya adalah lebih atau kurang untuk menghapus clari sudut dan menginstalnya kembali dengan langkah-langkah ini:

npm uninstall -g @angular/cli
npm cache clean --force
npm install -g @angular/cli

ini membantu saya keluar sumber: cara menghapus angular / cli

nada2 tony2
sumber
3

Saya melakukan perubahan ini dalam file package.json, lalu berfungsi.

"@angular-devkit/build-angular": "^0.803.23"

untuk

"@angular-devkit/build-angular": "^0.13.9"

Aditya patil
sumber
2

Saya berubah @angular-devkit/build-angular": "0.9.0.1"menjadi @angular-devkit/build-angular": "0.13.4"dan berhasil.

Berkah Tatenda Kabungaidze
sumber
Bekerja untuk saya, juga harus menjalankan instal npm untuk memastikan versi yang tepat diunduh.
David Brunning
2

Saya juga menghadapi masalah ini dan berjuang berjam-jam untuk menyelesaikannya, saya telah mencoba semua opsi di atas tetapi tidak ada yang menyelesaikan masalah saya. Masalah ini terjadi karena ketidakcocokan versi angular / cli dan angular-devkit, jadi saya melakukan hal berikut:

  1. Versi file yang diubah secara manual:

    @ angular-devkit / build-angular ":" ^ 0.13.9 ",

    @angular/cli": "~7.0.3", // Ini untuk Angular7, untuk Angular8: 0.803.23

  2. Package-lock.json dihapus

  3. Dilakukan: instal npm

Itu memecahkan masalah saya.

SanjaySahu44
sumber
1

Di sisi saya itu paket

@ angular-devkit / build-angular

dan

@ angular-devkit / build-ng-packagr

bukan versi yang sama, Memperbarui build-ng-packagrke versi yang sama seperti build-angularmemperbaiki masalah saya.

Bdwey
sumber
1

Jika Anda pindah ke sudut 8 atau 9 ini akan melakukan trik

ng update @angular/cli
Victor Osuyak
sumber
0

Anda cukup mengaudit kode Anda lalu

#sudo su 
rm -rf package-lock.json node_modules
sudo npm i --save 
KTT KTela
sumber
-1

Anda memiliki dependensi yang tidak kompatibel, saya menyelesaikan masalah ini dengan mengubah package.json dari sudut pandang proyek yang lain dan kemudian setelah mengubah paket ini, Anda hanya mengubah versi dependensi yang Anda miliki.

setelah perubahan tulis:

tautan -npm

-npm melayani -o

maka itu berhasil :)

   {
   "name": "angular-jwt-auth",
   "version": "0.0.0",
   "scripts": {
   "ng": "ng",
   "start": "ng serve",
   "build": "ng build",
   "test": "ng test",
   "lint": "ng lint",
   "e2e": "ng e2e"
   },
   "private": true,
   "dependencies": {
   "@angular/animations": "^7.1.4",
   "@angular/cdk": "^7.3.1",
   "@angular/common": "~7.1.0",
   "@angular/compiler": "~7.1.0",
   "@angular/core": "~7.1.0",
   "@angular/forms": "~7.1.0",
   "@angular/http": "^6.1.10",
   "@angular/material": "^7.3.1",
   "@angular/platform-browser": "~7.1.0",
   "@angular/platform-browser-dynamic": "~7.1.0",
   "@angular/router": "~7.1.0",
   "@ng-bootstrap/ng-bootstrap": "^4.2.0",
   "@types/jquery": "^3.3.29",
   "angular-6-datatable": "^0.8.0",
   "bootstrap": "^4.3.1",
   "chart.js": "^2.8.0",
   "core-js": "^2.5.4",
   "jquery": "^3.4.1",
   "rxjs": "~6.3.3",
   "zone.js": "~0.8.26"
    },
   "devDependencies": {
   "@angular-devkit/build-angular": "~0.11.0",
   "@angular/cli": "~7.1.0",
   "@angular/compiler-cli": "~7.1.0",
   "@angular/language-service": "~7.1.0",
   "@types/chart.js": "^2.7.53",
   "@types/jasmine": "^2.8.16",
   "@types/jasminewd2": "^2.0.6",
   "@types/node": "~8.9.4",
   "codelyzer": "~4.2.1",
   "jasmine-core": "~2.99.1",
   "jasmine-spec-reporter": "~4.2.1",
   "karma": "~3.1.1",
   "karma-chrome-launcher": "~2.2.0",
   "karma-coverage-istanbul-reporter": "~2.0.1",
   "karma-jasmine": "~1.1.2",
   "karma-jasmine-html-reporter": "^0.2.2",
   "protractor": "~5.4.0",
   "ts-node": "~7.0.0",
   "tslint": "~5.11.0",
   "typescript": "~3.1.6"
   }
Mohamad Alhamid
sumber
Saya sudah mencobanya dan memberi saya kesalahan kesalahan yang sama: Jalur data "" seharusnya TIDAK memiliki properti tambahan (es5BrowserSupport).
Ekta Gandhi
-1

Saya memiliki masalah ini, ini adalah bagaimana saya menyelesaikannya. Masalahnya sebagian besar adalah bahwa versi Angular Anda tidak mendukung versi Node.js Anda untuk versi build. Jadi solusi terbaik adalah meningkatkan Node.js Anda ke yang stabil saat ini.

Untuk pemutakhiran Node.js yang bersih, saya sarankan menggunakan n. jika Anda menggunakan Mac.

npm install -g n
npm cache clean -f
sudo n stable
npm update -g

dan sekarang periksa apakah Anda diperbarui:

node -v
npm -v

Untuk lebih jelasnya, periksa tautan ini: di sini

arielb
sumber
Akan senang mengetahui mengapa saya mendapat downvote ini. Ini adalah jawaban yang bersih, tanpa berusaha untuk memiliki "solusi"
arielb
karena tidak terkait dengan versi node, seharusnya versi angular-cli.
zhuhang.jasper
Saya baru saja mengalami masalah ini, saya rasa ini bukan versi angular-cli, ini terkait dengan angular-cli tetapi terpengaruh oleh versi node.
arielb
-1

Tidak ada jawaban yang diberikan di atas yang berfungsi untuk saya.

Tujuan awal saya adalah untuk memperbaiki KOMPILING proyek saya dengan VSCode yang terkadang KONSTAN .

Saya mencoba banyak, banyak cara, tetapi TIDAK ADA yang berhasil - proyek ini TIDAK AKAN KOMPILIE!

Akhirnya saya mengetahui apa masalahnya di sini:

Saya mengkloning proyek dari repositori perusahaan saya, dan semua kode dari sana HARUS cocok dengan versi dependensi ketika bagian proyek yang ada dikodekan.

Pada akhirnya, saya menghapus proyek yang sebelumnya dikloning LAGI (beberapa kali) , dan kloning LAGI (juga beberapa kali) , dan TAHUKAH TAPI TETAPI TAPI RAN "npm install", dan semuanya mulai bekerja .

Pelajaran yang saya pelajari di sini adalah:

Kadang-kadang Anda akan memperburuk situasi ketika Anda mencoba untuk memperbaiki beberapa masalah (yang saya miliki adalah KOMPILING KONSTAN dari proyek saya).

Tetapi itu tidak berarti kita tidak dapat mencoba untuk memperbaiki masalah. Kita dapat. Tetapi ketika semuanya menjadi berantakan, sebaiknya kita pergi dengan kode asli.

Untungnya kompilasi terus-menerus dari proyek saya hanya terjadi sesekali, tidak setiap saat. Itu tidak diperbaiki, tetapi saya harus menanggungnya, kalau tidak proyek saya tidak akan dikompilasi.

William Hou
sumber
-2

itu berfungsi menginstal ulang @ angular-devkit / build-angular @ 0.13.4

npm install @angular-devkit/[email protected] --save-dev
ahmeturhan
sumber