Hatalar: “.builders ['app-shell']” veri yolu gerekli 'sınıf' özelliğine sahip olmalıdır


160

Uygulamamı çalıştırırken bu hatayı alıyorum. İşte uygulamamın detayları.

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

Zaten temiz önbellek denedim.


İşte uygulamamın detayı. Açısal CLI: 7.3.3 Düğüm: 10.15.1 Açısal: 7.2.7 @ açısal-devkit / mimar -0.13.3 @ açısal-devkit / build-angular- 0.800.1 @ açısal-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 / açısal -7.3.3 @ şemalar / güncelleme 0.13.3 rxjs 6.3.3 daktilo tipi 3.2.4 web paketi 4.30.0
Ekta Gandhi

1
Bu sorun genellikle uyumsuz paketlerden kaynaklanmaktadır. Paket.json'u yeni güncellediniz mi?
Deepika

7
Sonunda çözümü buldum. 1) Öncelikle basit komut git checkout package.json komutunu vererek package.json dosyasındaki tüm değişiklikleri ortadan kaldırın. 2) Sonra @ angular-devkit / build-angular- ~ 0.800.1 (package yerine tail ekle) in package.json içinde değişiklik yaptıktan sonra rm -rf node_modules / 4 komutunu çalıştırın. temiz önbellek -f 5) Ve son çalıştırma komutu npm install. Bu benim için çalışıyor.
Ekta Gandhi

1
Yukarıda, npm clean cache -fyanlış, olmalı npm cache clean --force.
Fabien Haddadi

2
Bulduğum şey, nvm'yi düğümün yanlış sürümünü kullanacak şekilde ayarlamış olduğumdur, nvm use 12.14.01(benim durumumda) kullanarak düzgün bir şekilde ayarlamak için gerekli
QuietSeditionist

Yanıtlar:


173

Package.json dosyasında devkit oluşturucusunu değiştirin.

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

için

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

benim için çalışıyor.
iyi şanslar.


31
Başardı @angular-devkit/build-angular": "0.13.4"ve işe yaradı.
Dimuthu

3
Mükemmel. "0.13.4" ile çalıştı ve daha sonra npm derlemesi çalıştırdı
SouravOrii

1
Buraya indi çünkü js-yaml <3.13.1'de bir güvenlik açığı algılandı. Güncellemeden sonra bu hata mesajını aldım. Her neyse, "^0.10.0"düzeltildi.
Alesh Houdek

11
0.13.4 benim için çalıştı, ancak önce node_modules klasörünü kaldırdığınızdan, package-lock.json dosyasını sildiğinizden ve npm install komutunu çalıştırdığınızdan emin olun. her şeyi düzeltiyor gibi görünüyor.
Indy-Jones

5
Bu çözüm işe yarıyor ama yanlış, bunun yerine açısal ve açısal cli sürümünü yükseltmelisiniz. Aşağıdaki @ovangle cevabını kontrol edin
Francesco Borzi

101

Takip etmek benim için çalıştı

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

3
Bu cevap doğrudan olmasına rağmen, kaynak veya referanstan da yoksundur. Körü körüne doğrudan belirli bir paket sürümünü yüklemek için tüm projelerini bozabilir. Lütfen açık ve referans verin.
Zakky

70

Buradaki herkes uyumluluk için @ angular-devkit / build-angular 'ı @gular 7.x sürümlerine indirmeye odaklanıyor, ancak yapmaları gereken@angular/cli açısal 8 sürümlere yükseltmektir .

Sorun, sistem klibi hala eski bir sürümde kalıyor ve tarafından otomatik olarak güncellenmiyor ng update(açısal kontrollü projenin dışında olduğu için), bu yüzden açısal kütüphanelere erişmeye çalışırken uyumsuz bir versiyonda kalıyor.

Sürüm düşürme @angular-devkit/build-angularsadece daha fazla uyumsuzluğa neden olur.

npm i --global @angular/cli@latest

sorunu çözecektir olmadan başka yerlerde şeyler kırma.


6
Cevap bu olmalı. Bu hata bana Angular 8'e güncellenmiş bir şubeden çekildiğim için bilgisayarımın açısal hala Açısal 7 olduğu için oluştu.
terahertz

19
Bu sorun, npm audit fixhala devam etmekte olan projelerde yaptığınız angular@7zaman bazen indirgenme @angular-devkit/build-angulardoğru yanıttır
Xesenix

4
çalışma npm audit fixbazen frenleme değişiklikleri getirir. bunun yerine npm auditbulguları anlamak ve paketi 1'e 1 gibi bir şey kullanarak yükseltmek için npm i --save-dev <package@version>
Naren

1
@zhuhang Bu sadece açıkça yanlış. Global CLI'yi yükseltmenin son birkaç sürümle geriye dönük olarak uyumlu olmasını bekleyebilirsiniz, mutlaka ileriye dönük uyumlu olmasını bekleyemezsiniz.
ovangle

1
@ovangle Ben ileri uyumlu bahsetmedim. İnsanların körü körüne, özellikle de sürüme körü körüne yükseltmemeleri gerektiğini söylüyorum angular-cli. Mevcut CLI sürümleri tanımlanmalı ve bu CLI ile eşleşen devkit kullanılmalıdır. Devkit paketlerini yükseltmek istiyorsanız, CLI'yi tamamen yükseltmek doğrudur.
19:56, zhuhang.jasper

62

Herkes @angular-devkit/build-angularsürümü X'e düşürmeye veya @angular/clisürümü Y veya son sürümüne yükseltmeye odaklanıyor .

Ancak, lütfen körü körüne bir X or Y or latestcevap olarak önermeyin . (Yine de, CLI'yi yükseltmek kırıcı bir değişiklik olduğu için devkit'in daha iyi olması gerekir)

Seçilecek doğru sürüm, her zaman Açısal (açısal-cli) sürümünüze bağlıdır.

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

Diğer belirli sürümler için şu adresi ziyaret edin: https://github.com/angular/angular-cli/tags . CLI sürümünüzü bulun ve bazı etiketlerde @angular-devkit/**paketler için ilgili sürümlerden bahsediyorlar .

Not: CLI sürümünüzü yükseltmek istiyorsanız, önce ana sürümünüzün en son sürümüne yükseltmeyi düşünmelisiniz, sadece bir sonraki büyük sürüme atlamayın.


3
Bu cevabın neden aşağı oy verildiğinden emin değilim; iyi bir tavsiye. Aslında, benim yükseltilmiş olduğu gibi (benim sorun çözüldü devkit/build-angularPaketi 0.803.xama benim Açısal CLI bıraktı 7.3.xbenim Açısal CLI yükseltmek niyetinde değildi, ben ver kullanarak geri döndü. 0.13.xDevKit ait
Gregg L

2
@GreggL Aslında, cevabım en çok oy alan cevaptan daha iyi. Diğer cevaplar sadece BLINDLY'yi yükseltmeyi / düşürmeyi önerir. Cevabımın da belirttiği gibi, doğru CLI / devkit sürümü birbiriyle ilişkilidir, ancak kimse F vermez, çünkü dev topluluğu böyle.
zhuhang.jasper

Sen bir cankurtaransın, tx! Ama cli 7.0.6 için bir fikrin var mı? Orada
yazmıyor

2
Bu harika cevaba eklemek için: Kendi projeme, @angular/clidev bağımlılıklarını dahil ediyorum ve bunun ile eşleştiğinden eminim @angular-devkit/build-angular. Bu şekilde birden fazla CLI sürümü ile birden çok projeyi koruyabilirim. Bunu yaparsanız ng so, bilgisayarınız CLI kullanacağız bunu yaparsanız npm startbir senaryo olan ( package.jsonyapmak ng servedoğru CLI Bu uygulamayı başlatmak Umut bu yardımcı olur aslında yerel CLI kullanacaktır.
ma.D

Bugün itibariyle Açısal 9 için güncellendi (kaynak NPM ): 0.901.1 -> en son, 0.1000.0-next.0 -> sonraki, 0.8.9 -> v6-lts, 0.803.26 -> v8-lts, 0.13 .10 -> v7-
lts

30

@ Angular-devkit'iniz @ angular / cli sürümüyle uyumlu değil, bu yüzden örneğin şöyle eski bir tane yükleyin:

npm install @angular-devkit/build-angular@0.13.8 @angular-devkit/build-ng-packagr@0.13.8

Aynı şeyi göndermek istedim. Görülme 0.12.4etrafında yüzen, ama bu benim için çalışmaz.
M. Doe

@ M.Doe Doğru sürüm 1angular-cli` sürümünüze bağlıdır.
Şuna

22

Bağımlılık sorunları nedeniyle başarısız olan Ng8'e yükseltmeye çalıştıktan sonra aynı sorun.

npm uninstall @angular-devkit/build-angular

sonra kullandım,

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

onu düzeltti...


bazen bu çözüm mümkün olmayabilir, çünkü sürümü birinin gereksinimi olmayabilir. Paketin silinmesi kilit jsonnpm i @angular-devkit/build-angular
Tejashree

14

Aynı problemim vardı, ama Ekta Gandhi'nin yorumu sayesinde çözdüm:

Sonunda çözümü buldum.

1) Öncelikle basit komut git checkout package.json komutunu vererek package.json dosyasındaki tüm değişiklikleri ortadan kaldırın.

2) Sonra paketi değiştirdikten sonra @ angular-devkit / build-angular- ~ 0.800.1'de (json, kapak yerine kuyruk ekleyin)

3) Ardından rm -rf node_modules / komutunu çalıştırın.

4) Sonra npm clean cache komutunu vererek yakalamayı temizleyin -f

5) Ve son çalıştırma komutu npm install. Bu benim için çalışıyor.

.... Dimuthu tarafından önerilen değişiklikle birlikte

@ Angular-devkit / build-angular "olarak yapıldı:" 0.13.4 "ve işe yaradı.


@ Angular-devkit / build-angular "0.13.4" sürümünde tembel yüklü bileşenler kullanıldığında bir sorun olduğu unutulmamalıdır. Bu sorunu önlemek için kullanıcıların @ angular-devkit / build-açısal paketlerini güncellemeleri gerekiyor ... Yani burada bir ticaret yap ...
Adan

7

Angular 8'i kurduğumda bu oldu, çözemediğim bazı uyumsuzluklar var. Düşürmek zorunda kaldım, çünkü çalışan bir tane bulana kadar her versiyonla hokkabazlık yapan tavşan deliğinden indim.

İlk olarak, TypeScript eskiydi, varsayılan kurulum TypeScript 3.1.6'ya bir referans ekledi ve 3.4 veya üstü gerekiyor.

npm install typescript@">=3.4 <3.5"

İkincisi, devkit 0.800.1 veya 0.800.1 kullanıldığında her zaman uyumsuzluklar ortaya çıktı. Birçok kombinasyon denedim ama henüz tam olarak uyumlu olduğundan emin değilim, çünkü biraz daha eski bir bootstrap kullanıyorum ve henüz yükseltemiyorum.

Sonunda bunlardan biri işe yarayana kadar eski sürüme geçmeye çalıştım (package.json adresine gidin ve devDependencies'i bulun).

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

Sorununuzun bağımlılık sürümleri olduğundan eminim ama hangisini söyleyemem. Eski sürüme geçirmeyi deneyin.


Çalışırken, çalışan @angular-devkit/build-angular": "0.13.8"en son sürüm gibi göründüğünü öneririm
M. Doe

Çok teşekkürler. Önyükleme sürümü veya bağımlılıkları 0.13.4'ten daha fazla gitmeme izin vermiyor gibi görünüyor, ancak birçok insan için işe yarayacak
Maximiliano Rios

0.13.8 ile (aslında 0.800'den daha düşük bir şey. *) Ben: 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.Son sürümü ile başlıktan hata alıyorum. Şimdi ne yapmalı?
Dominik Szymański

7

Package.json dosyasını güncellemeyi deneyin

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

için

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

Sonra komut satırında npm install komutunu çalıştırın.


6

Ben de bu sorunla karşılaşıyordum ve benim için daha fazla güncelleme yaparken daha fazla sorun oluştu.

Sonunda benim için işe yarayan, açısal klibi kaldırmak ve aşağıdaki adımlarla yeniden yüklemek için az ya da çok oldu:

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

bu bana yardımcı oldu kaynak: açısal / cli nasıl kaldırılır


3

Bu değişikliği package.json dosyasında yaptım, sonra çalışıyor.

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

için

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


2

Değiştim @angular-devkit/build-angular": "0.9.0.1"için @angular-devkit/build-angular": "0.13.4"ve işe yaradı.


Benim için çalıştı, ayrıca doğru sürüm indirildiğinden emin olmak için npm install çalıştırmak zorunda kaldı.
David Brunning

2

Ayrıca bu sorunla karşı karşıya kaldım ve çözmek için saatlerce uğraştım, yukarıdaki tüm seçenekleri denedim ama hiçbir şey sorunumu çözmedi. Bu sorun, açısal / cli ve açısal devkit sürüm uyumsuzluğu nedeniyle oluşur, bu yüzden aşağıdakileri yaptım:

  1. Dosyaların manuel olarak değiştirilmiş sürümü:

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

    @angular/cli": "~7.0.3", // Bu Angular7, Angular8 için: 0.803.23

  2. Package-lock.json silindi

  3. Yürütüldü: npm yükleme

Sorunumu çözdü.


1

Benim tarafımda paket oldu

@ Açısal devkit / birikmesi açısal

ve

@ Açısal devkit / birikmesi ng-packagr

Güncellenmesi, aynı versiyonu değildi build-ng-packagraynı sürüme build-angularsorunumu sabit.


1

Eğer açısal 8 veya 9'a hareket ederseniz, bu hile yapacaktır

ng update @angular/cli

0

Kodunuzu kolayca denetleyebilir ve ardından

#sudo su 
rm -rf package-lock.json node_modules
sudo npm i --save 

-1

Bu sorunu çözdüğümüz uyumsuz bağımlılıklarınız var. Paketi değiştirerek başka bir proje açısını değiştirdikten sonra bu paketi değiştirdikten sonra, yalnızca sahip olduğunuz sürümleri değiştirirsiniz.

değişiklikten sonra yaz:

-npm bağlantısı

-npm hizmet -o

o zaman iş :)

   {
   "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"
   }

Ben denedim ve bana aynı hata hataları veriyor: Veri yolu "" ek özelliklere (es5BrowserSupport) sahip OLMAMALIDIR.
Ekta Gandhi

-1

Bu sorunu yaşadım, bu şekilde çözdüm. Sorun çoğunlukla, Angular sürümünüzün Node.js sürümünüzü desteklememesidir. Bu nedenle en iyi çözüm, Node.js'nizi en güncel kararlı olana yükseltmektir.

Node.js temiz yükseltme için n kullanmanızı öneririz. Mac kullanıyorsanız.

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

ve şimdi güncellenip güncellenmediğini kontrol edin:

node -v
npm -v

Daha fazla ayrıntı için bu bağlantıyı kontrol edin: burada


Neden bu düşüşü aldığımı bilmek mutlu olurdu. Bu, bazı "geçici çözümler" denemeden temiz bir cevaptır
arielb

çünkü düğüm versiyonu ile ilgili değil, açısal-cli versiyonu olmalıdır.
19:15, zhuhang.jasper

Ben sadece bu sorunu vardı, ben açısal-cli versiyonu olduğunu sanmıyorum, açısal-cli ile ilgili IS ama düğüm sürümü etkilenir.
arielb

-1

Yukarıda verilen cevaplardan HİÇBİRİ benim için işe yaramıyor.

Benim asıl amacım bazen VSCode ile projemin SABİT DERLEME düzeltmek oldu .

Ben çok, çok yol denedim, ama hiçbir şey işe yaramadı - proje sadece COMPILIE OLMAYACAK!

Sonunda burada sorunun ne olduğunu öğrendim:

Projeyi şirketimin deposundan klonladım ve oradaki tüm kod, projenin mevcut kısmı kodlandığında bağımlılık sürümleriyle tam olarak gitmek zorunda.

Sonunda, daha önce klonlanmış projeyi AGAIN (oldukça birkaç kez) sildim ve AGAIN (ayrıca birkaç kez) klonladım ve HİÇBİR ŞEY RAN "npm install" DIDING ve her şey çalışmaya başladı .

Burada öğrendiğim ders şudur:

Bazen bazı sorunları düzeltmeye çalıştığınızda durumu daha da kötüleştireceksiniz (sahip olduğum şey projemin SABİT DERLEME idi).

Ancak bu, sorunları çözmeye çalışamayacağımız anlamına gelmez. Yapabiliriz. Ancak her şey bir karmaşaya dönüştüğünde, orijinal kodla gitsek iyi olur.

Neyse ki, projemin SABİT DERLEME her zaman değil, sadece bir kez olur. Sabit değil, ama buna katlanmak zorundayım, aksi takdirde projem bile derlenmeyecek.


-2

iş yeniden yükleme @ angular-devkit / build-angular @ 0.13.4

npm install @angular-devkit/build-angular@0.13.4 --save-dev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.