angular - Nativescript hata 'ng generate component' çalıştırıldığında 'undefined özelliği 'kind' okunamıyor'


Nativescript projeme yeni bir bileşen ekleyemiyorum, ng generate component faqs komutunu çalıştırdığımda şu hatayı veriyor:

Option "entryComponent" is deprecated: Since version 9.0.0 with Ivy, entryComponents is no longer necessary.
Cannot read property 'kind' of undefined

veya eğer bunu ng generate component olarak çalıştırırsam, benden bileşenin adını istiyor

? What name would you like to use for the component? faqs

ve döner

Option "entryComponent" is deprecated: Since version 9.0.0 with Ivy, entryComponents is no longer necessary.
Cannot read property 'match' of undefined

Ben kullanıyorum:

Nativescript 7.0.10

Angular CLI: 10.1.4
Node: 12.18.4
OS: win32 x64

Angular: 10.1.4
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Ivy Workspace: Yes

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1001.4
@angular-devkit/core         10.0.8
@angular-devkit/schematics   10.1.4
@ngtools/webpack             10.1.4
@schematics/angular          10.1.4
@schematics/update           0.1001.4
rxjs                         6.6.3
typescript                   3.9.7

Ve ben sadece koşuyorum:

tns create HelloWorld
npm i --save-dev @angular/cli
npm install --save-dev @nativescript/schematics
npm install --save-dev @schematics/angular

Cevap #1

https://github.com/NativeScript/nativescript-schematics/issues/302 adresine göre çözüm/geçici çözüm, typescript'i sürüm 4'e güncellemektir, yani çalıştırmak

npm install --save-dev typescript@4

Aşağıdaki adımları test ettim ve işe yarıyor gibi görünüyor:

npm i -g @nativescript/schematics
ng new -c=@nativescript/schematics my-project --shared
cd my-project
npm install --save-dev typescript@4
ng g component bla

Cevap #2

Hata çoğunlukla Angular, Node, NPM ve TypeScript sürümleri arasındaki çatışmayla ilgilidir. Ben bunu kendim bazı eski Angular projelerinde çalıştırırken ve derlerken gördüm. TypeScript veya Angular GitHub sorunlarından kesin bir yanıt olmamasına rağmen, aşağıda çakışan dosya/klasörleri azaltabileceğiniz ve sorundan kurtulabileceğiniz birçok yol bulunmaktadır:

  1. node_modules ve package-lock.json dosyalarını silin ve modülleri yeniden yükleyin
  2. Angular ngtools sürümlerinden birinde bir hata vardı, bu da soruna neden oluyordu ve düzeltildi
  3. Projede yerel olarak yüklü @angular/cli sürümü, global olarak yüklü @angular/cli sürümünden farklı.
  4. Derleme sunucusu çalışırken dosyaları değiştirmek/değiştirmek, bu durumda bir dosya eklemeden veya kaldırmadan önce derleyiciyi durdurun

Bunun yanı sıra, Typescript ve Angular'ın ilgili depolarında konular hakkında daha fazla okuma da yapabilirsiniz

  • TypeScript Sorunu
  • Angular Sorunu

İlgili makaleler