Bagaimana cara menghapus / meningkatkan CLI Angular?

101

Ketika saya mencoba membuat proyek baru dengan Angular CLI , dengan:

ng n app

Saya mendapatkan kesalahan ini:

fs.js: 640 return binding.open (pathModule._makeLong (path), stringToFlags (flags), mode); ^ TypeError: path harus berupa string atau Buffer di TypeError (native)

Bagaimana cara meningkatkan atau menghapus CLI Angular ?

RohanArihant
sumber
6
Gunakannpm uninstall -g angular-cli
ranakrunal9
8
Sekarang, gunakan npm uninstall -g @angular/cli ( stackoverflow.com/questions/43070441/… )
Jeremy Moritz

Jawaban:

282

Menggunakan perintah berikut untuk menghapus instalan:

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

Untuk memverifikasi: ng --version / * Anda akan mendapatkan pesan kesalahan, lalu Anda telah menghapus instalasi * /

Menggunakan perintah berikut untuk menginstal ulang:

npm install -g @angular/cli

Catatan: - Menggunakan --force untuk membersihkan semua cache - Di Windows, jalankan ini menggunakan administrator - Di Mac gunakan sudo ( $ sudo <command>)

  • Jika Anda menggunakan, npm>5Anda mungkin perlu menggunakan verifikasi cache sebagai gantinya. ( $ npm cache verify)
Santosh Pillai
sumber
11
Harap dicatat bahwa CLI Angular telah pindah ke @ angular / cli: [sudo] npm install -g @ angular / cli
Osmund Francis
5
npm cache clean digantikan oleh npm cache verfy sehingga tampaknya
Arnd Brugman
2
npm ERR! Mulai npm @ 5, pemulihan otomatis npm cache dari masalah korupsi dan data yang diekstrak dari cache dijamin valid. Jika Anda ingin memastikan semuanya konsisten, gunakan 'verifikasi cache npm' sebagai gantinya.
NoamG
cara menghapus versi terbaru angular cli dan menginstal angular cli 1.6.1
Ayyappa amara
3
@NaomG versi npm> 5 tidak membutuhkan Anda untuk membersihkan cache .. tetapi masih jika Anda membutuhkannya berjalannpm cache clean --force
Ashish Yadav
27

Tidak satu pun dari solusi di atas yang berhasil untuk saya. Di Windows 7 ini berhasil:

Instal Rapid Environment Editor dan hapus entri apa pun untuk node,npm, angular-cli or @angular/cli

Copot pemasangan node.js dan instal ulang. Jalankan Rapid Environment Editor lagi dan pastikan node.js dan npm berada di jalur Sistem atau Pengguna Anda. Copot pemasangan versi ng yang ada dengan:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

Hapus C:\Users\YOU\AppData\Roaming\npm\node_modules\@angularfoldernya.

Mulai ulang, lalu, akhirnya, jalankan:

npm install -g @angular/cli

Kemudian tahan napas dan jalankan ng -v. Jika Anda beruntung, Anda akan mendapatkan cinta. Tahan nafas Anda untuk selanjutnya setiap kali Anda menjalankan perintah ng, karena 'perintah tidak ditemukan' secara ajaib muncul kembali untuk saya beberapa kali setelah ng berjalan dengan baik dan saya pikir masalahnya sudah selesai.

VanAlbert
sumber
bahkan lebih sederhana: stackoverflow.com/questions/43070441/…
Jeremy Moritz
15

Jalankan perintah berikut untuk mendapatkan sudut terbaru

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
npm install
Stanley Mohlala
sumber
6

hapus referensi global

npm uninstall -g angular-cli
npm cache clean
DI
sumber
tetapi kesalahannya sama. Apakah ada yang punya solusi untuk itu fs.js: 640 return binding.open (pathModule._makeLong (path), stringToFlags (flags), mode); ^ TypeError: jalur harus berupa string atau Buffer di TypeError (asli) di Object.fs.openSync (fs.js: 640: 18) di Object.fs.readFileSync (fs.js: 508: 33)
RohanArihant
Ini adalah kesalahan yang sangat umum, bisa jadi apa saja, ketergantungan hilang atau konfigurasi salah. Lebih baik menanyakan ini di github.com/angular/angular.js/issues . BTW di atas adalah cara menghapus angular.
PADA
tambahkan '--force' di bagian akhir tanpa tanda kutip tunggal.
Dale
4

Cli sudut telah pindah ke @angular/cli, sehingga dari github readme,

sudo npm uninstall -g @angular/cli
npm cache clean
Semua Vаиітy
sumber
4

Masuk ke ini baru-baru ini sendiri di mac, harus menghapus folder ng dari /usr/local/bin. Sudah lama sekali saya menginstal CLI Angular, saya tidak sepenuhnya yakin bagaimana saya menginstalnya pada awalnya.

jassok
sumber
2

Untuk menghapusnya secara global, jalankan perintah di bawah ini:

npm uninstall -g @angular/cli

Setelah selesai, kosongkan cache Anda dengan menjalankan perintah di bawah ini:

npm cache clean

Sekarang, untuk menginstal Angular versi latset, jalankan saja:

npm install -g @angular/cli@latest

Untuk detail tentang Angular CLI, lihat Pengenalan Angular dan panduan CLI

Uttam Kumar Mishra
sumber
1
Ketiga jawaban Anda menyebutkan tautan yang sama. Jika Anda berafiliasi dengan cara apa pun, Anda perlu menambahkan pengungkapan. Dan bahkan jika Anda melakukannya, ingatlah bahwa promosi diri yang berlebihan juga dapat dianggap sebagai spam. Lihat bagaimana tidak menjadi spammer
Zoe
2

Saya mencoba semua hal di atas, dan masih bertahan secara global. Jadi di PowerShell saya berlari Get-Command ng, dan kemudian menjadi jelas apa masalah saya. Saya menggunakan banyak benang di masa lalu, dan semua paket cli sudut lama juga dipasang secara global di lokasi cache benang. Saya menghapus cache benang saya untuk ukuran yang baik, tetapi mungkin baru saja memperbarui cli sudut global melalui benang. Bagaimanapun, saya harap ini membantu mengingatkan beberapa dari Anda bahwa jika Anda menggunakan benang, maka perintah global seperti ng juga dapat hidup di jalur lain daripada di mana npm meletakkannya.

Rafe
sumber
2

Solusi biasa, yang tidak selalu berhasil:

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli

Solusi lain yang lebih drastis:

  • Copot pemasangan Angular CLIsecara global
npm uninstall -g @angular/cli
  • Copot Node.js&npm pemasangan dengan uninstaller
  • Hapus setiap variabel lingkungan yang terkait dengan Node.js&npm
  • Hapus folder C:\Users\<user>\AppData\Roaming\npmdanC:\Users\<user>\AppData\Roaming\npm-cache
  • Verifikasi perintah ini adalah ko:
ng version
npm -v
node -v
npm install -g @angular/cli
  • Terakhir, periksa versi CLI Angular global Anda:
ng version
veben
sumber
1

Sejalan dengan banyak jawaban di atas, bahkan saya memiliki masalah di mana saya tidak dapat membuat aplikasi baru dengan angular cli 9.1.0 di Mac OS 10.15.3. Masalah saya diselesaikan dengan mencopot pemasangan cli sudut, membersihkan cache dan menginstal ulang cli sudut.

npm uninstall -g @angular/cli

Verifikasi status penginstalan dengan ng --version

npm cache verify
npm install -g @angular/cli

Coba buat aplikasi baru dengan ng new my-appsekarang untuk melihat apakah hal di atas membantu.

Gururaj Birajdar
sumber
0

gunakan perintah berikut jika Anda menginstal secara global,

 npm uninstall -g angular-cli
Ajith KP
sumber
0

Bukan jawaban atas pertanyaan Anda, tetapi jawaban atas masalah yang Anda sebutkan:

Sepertinya Anda memiliki file konfigurasi yang salah untuk versi angular-cli yang Anda gunakan.

Di file angular-cli.json, coba ubah berikut ini:

dari:

  "environmentSource": "environments/environment.ts",
  "environments": {
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
  }

untuk:

  "environments": {
    "source": "environments/environment.ts",
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
  }
Gal Tamir
sumber
0

Saya selalu menggunakan perintah berikut sebelum meningkatkan ke yang terbaru. Jika untuk awalan Ubuntu: 'sudo'

npm uninstall -g angular-cli
npm cache clean
npm install -g angular-cli@latest
Kata Chowdary Yashwanth
sumber
0
 $ npm uninstall -g angular-cli 
 $ npm cache clean 
 $ npm install -g angular-cli
Lekens
sumber
0

Jalankan perintah ini

npm uninstall angular-cli
Julian Bici
sumber
-2

Solusi paling sederhana untuk terus bekerja dalam proyek Anda adalah baris komentar 25 dari node_modules / angular-cli / bin / ng :

// Version.assertPostWebpackVersion();

Sampai diperbaiki dengan benar.

Vadym
sumber
1
menggunakan npm uninstall -g angular-clI adalah pilihan yang lebih baik.
Praveen Rana