Versi CLI Angular Global lebih besar dari versi lokal

354

Saat menjalankan ng servesaya mendapatkan peringatan ini tentang versi CLI global saya yang lebih besar dari versi lokal saya. Saya tidak melihat adanya masalah dari peringatan ini, tetapi saya bertanya-tanya apakah kedua versi tersebut harus disinkronkan? Juga, apakah perlu memiliki versi lokal jika Anda memiliki versi global?

Peringatan:

Versi CLI Angular global Anda (1.1.1) lebih besar dari versi lokal Anda (1.0.6). Versi Angular CLI lokal digunakan.

Kaya
sumber
43
Adakah yang bisa menjawab mengapa kita membutuhkan lokal dan global?
Rap

Jawaban:

465

Untuk menjawab salah satu pertanyaan, perlu menginstal global dan lokal agar alat dapat berfungsi.

Jika Anda mencoba menjalankan ng serveaplikasi tanpa instalasi lokal CLI (hanya global install), Anda akan mendapatkan kesalahan berikut.

Anda harus berada di dalam proyek CLI Angular untuk menggunakan perintah serve.

Ini juga akan mencetak pesan ini:

Please take the following steps to avoid issues:
"npm install --save-dev @angular/cli@latest"

Jalankan npmperintah itu untuk memperbarui CLI secara lokal, dan hindari peringatan yang Anda dapatkan.

Pertanyaan lain: Sepertinya mereka tidak harus sinkron, tetapi mungkin yang terbaik adalah mereka harus menghindari perilaku yang tidak biasa dengan alat, atau ketidakkonsistenan dengan kode yang dihasilkan alat.

Mengapa kita membutuhkan instalasi global, dan instalasi lokal?

Instalasi global diperlukan untuk memulai aplikasi baru. The ng new <app-name>perintah dijalankan menggunakan instalasi global CLI. Bahkan, jika Anda mencoba menjalankan ng newsementara di dalam struktur folder aplikasi CLI yang ada, Anda mendapatkan kesalahan yang indah ini:

Anda tidak dapat menggunakan newperintah di dalam proyek Angular CLI.

Perintah lain yang dapat dijalankan dari global install yang ng help, ng get/setdengan --globalpilihan, ng version, ng doc, dan ng completion.

Instalasi lokal CLI digunakan setelah aplikasi dibangun. Dengan cara ini, ketika versi baru CLI tersedia, Anda dapat memperbarui instalasi global Anda, dan tidak memengaruhi instalasi lokal. Ini bagus untuk stabilitas proyek. Sebagian besar ngperintah hanya masuk akal dengan versi lokal, seperti lint, builddan serve, dll.

Menurut readme CLI GitHub , untuk memperbarui CLI Anda harus memperbarui paket global dan lokal. Namun, saya telah menggunakan CLI di mana versi global dan lokal bervariasi tanpa masalah sejauh ini. Jika saya pernah menemukan kesalahan yang berkaitan dengan sinkronisasi versi CLI global dan lokal, saya akan mempostingnya di sini.

R. Richards
sumber
tidak ada cara selain memperbarui cli, misalnya saya ingin menjalankan menginstal modul dengan versi cli saya yang ada. atau tidak ada cara untuk memaksa ketika mengeksekusi perintah untuk menggunakan cli lokal bukan yang global ??
Mohammed Yassine CHABLI
3
Versi lokal CLI digunakan secara default ketika menjalankan perintah di direktori proyek CLI. Dikatakan banyak dalam peringatan itu.
R. Richards
tetapi saya tidak tahu mengapa solusi ini tidak berhasil untuk saya. bagaimana jika saya sebutkan di package.json saya sebagai nilai my angular-cli = "^ 1.0.6". itu bekerja tetapi masih belum mengerti apa yang terjadi?
Mohammed Yassine CHABLI
1
uninstall npm -g @ angular / cli, npm cache clear --force, npm install @ angular / cli
Hesham Yassin
1
@ Doug Itu benar. Anda akan mendapatkan peringatan saat menjalankan perintah-perintah untuk proyek dengan versi CLI yang lebih rendah, tetapi Anda bisa mengabaikannya. Semua peringatan mengatakan versi berbeda, dan CLI lokal akan digunakan.
R. Richards
153

Inilah cara saya memecahkan masalah.

Instal paket CLI Angular terbaru secara lokal

Salin dan jalankan perintah ini

ng --version
npm install --save-dev @angular/cli@latest
ng --version
BehrouzMoslem
sumber
1
Saya akan menambahkan bahwa langkah 1,5 (jika Anda mau) adalah: rm node_modules/.bin/ng. Bekerja dengan sempurna.
bretonics
42

Ini berfungsi untuk saya: ini akan memperbarui versi lokal ke terbaru

npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install

untuk memverifikasi versi

  ng --version
hoogw
sumber
Saya mengonversinya menjadi perintah batch Windoze old-skool: CALL npm uninstall --save-dev @ angular / cli CALL npm install --save-dev @ angular / cli @ terbaru CALL npm install CALL ng --version
Lee H
1
Apakah langkah Anda. Sudah mencoba ng serve --opendan mendapatkan "Versi CLI ini hanya kompatibel dengan Angular versi 5.0.0 atau lebih tinggi. Silakan kunjungi tautan di bawah ini untuk menemukan petunjuk tentang cara memperbarui Angular. Angular-update-guide.firebaseapp.com "
Aggie Jon dari 87
17
npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest

Kemudian dalam paket proyek Lokal Anda:

rm -rf node_modules dist 
npm install --save-dev @angular/cli@latest
npm i 
ng update @angular/cli 
ng update @angular/core
npm install --save-dev @angular-devkit/build-angular

Sedang mendapatkan kesalahan di bawah ini Kesalahan: Akhir tak terduga dari input JSON Akhir tak terduga dari input JSON Langkah-langkah bantuan di atas dari posting ini Tidak dapat memperbarui sudut ke versi 6

Saurabh
sumber
1
npm install --save-dev @ angular-devkit / build-angular - memang membantu pembaruan @ angular / cli -> berhasil membuat angular.json dan pembaruan lainnya.
MPV
15
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest

Konfigurasi Anda yang ada dapat diperbarui secara otomatis dengan menjalankan perintah berikut:

ng update @angular/cli

atau:

npm install
Montasir Mirghani
sumber
8

Dalam kasus saya, saya hanya menggunakan perintah ini ke proyek:

ng update @angular/cli
Akostha
sumber
4

Jalankan Perintah berikut: npm install --save-dev @angular/cli@latest

Setelah menjalankan perintah di atas, konsol mungkin memunculkan pesan di bawah ini

Format konfigurasi CLI Angular telah diubah, dan konfigurasi Anda yang ada dapat diperbarui secara otomatis dengan menjalankan perintah berikut: ng update @ angular / cli

Tahir77667
sumber
4

Saya tidak lancar berbahasa Inggris

tetapi jika saya memahami masalahnya, apakah itu secara lokal dalam proyek Anda memiliki versi CLI yang lebih lama daripada secara global?

Dan apakah Anda ingin menggunakan global yang lebih baru ini daripada yang lama lokal?

Jika demikian, metode yang sangat sederhana sudah cukup untuk dijalankan di direktori proyek npm link @angular/cli

lebih banyak dalam subjek di halaman: https://docs.npmjs.com/cli/link

CisSasGot
sumber
2

Pertama cari tahu versi global-sudut dengan menjalankan

ng --version

Kode di atas akan menunjukkan versi apa yang merupakan versi global dan lokal sudut.

Jika Anda ingin agar sudut sudut global dan lokal tetap sama, Anda bisa melakukannya

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

di mana 1.7.4 adalah versi global-sudut CLI Anda

Maka jika Anda menjalankan ng serve --openkode Anda harus menjalankan.

vikas etagi
sumber
2

Anda hanya perlu memperbarui AngularCli

npm install --save-dev @angular/cli@latest

sumber
0

Perbarui CLI Angular untuk ruang kerja (Lokal)

npm install --save -dev @angular/cli@latest

Catatan: Pastikan untuk menginstal versi global menggunakan perintah dengan '-g' jika diinstal dengan benar.

npm install -g @angular/cli@latest

Jalankan perintah Perbarui untuk mendapatkan daftar semua dependensi yang diperlukan untuk ditingkatkan

ng update

Selanjutnya Jalankan perintah pembaruan seperti di bawah ini untuk setiap paket inti Angular individu

ng update @angular/cli @angular/core

Namun, saya harus menambahkan perintah flag '–force' dan '–allow-dirty' sebagai tambahan untuk memperbaiki semua masalah lain yang tertunda.

ng update @angular/cli @angular/core --allow-dirty --force
MOHAMMAD SIKANDAR
sumber
0

ini harus menyelesaikan masalah:

ng update @angular/cli @angular/core
pengguna5919789
sumber
0

Lakukan saja hal-hal ini

npm install --save-dev @angular/cli@latest
npm audit fix
npm audit fix --force
tusher Mahmud
sumber
1
Karena pertanyaan ini hampir 3 tahun dan memiliki 14 jawaban yang ada, jawaban Anda akan jauh lebih berharga jika Anda menjelaskan mengapa jawaban Anda bernilai yang tidak tercakup oleh semua jawaban yang ada.
David Buck
-1

npm install --save-dev @ angular-devkit / build-angular - memang membantu pembaruan @ angular / cli -> berhasil membuat angular.json dan pembaruan lainnya.

Mengumpulkan dependensi yang diinstal ... Ditemukan 58 dependensi.

 ** Executing migrations for package '@angular/cli' **
            Updating karma configuration
            Updating configuration
            Removing old config file (.angular-cli.json)
            Writing config file (angular.json)
            Some configuration options have been changed, please make sure to update any  npm scripts which you may have modified. DELETE .angular-cli.json CREATE angular.json (4394 bytes) CREATE browserslist (429 bytes) UPDATE karma.conf.js (993 bytes) UPDATE public/tsconfig.spec.json (295 bytes) UPDATE package.json (2618 bytes) UPDATE tsconfig.json (437 bytes) UPDATE tslint.json (3135 bytes) UPDATE public/polyfills.ts (587 bytes) UPDATE public/tsconfig.app.json (199 bytes) npm WARN @angular/[email protected] requires a peer of zone.js@^0.8.4 but none is installed. You must install peer dependencies yourself.
MPV
sumber
-1

Hapus sudut saat ini dan instal versi tertentu.

  1. Periksa Versi

    ng - versi

  2. jika tidak diperlukan, Copot Versi

    uninstall npm -g @ angular / cli

  3. jika npm vesrion <5.x

    cache npm bersih

  4. Verifikasi cache

    npm cache memverifikasi

  5. Instal versi tertentu

    npm instal -g @ angular / cli @ major.minor.patch

Amit Kumar
sumber