Comment désinstaller / mettre à niveau Angular CLI?

99

Quand j'essaye de créer un nouveau projet avec Angular CLI , avec:

ng n app

J'obtiens cette erreur:

fs.js: 640 renvoie binding.open (pathModule._makeLong (chemin), stringToFlags (drapeaux), mode); ^ TypeError: le chemin doit être une chaîne ou un tampon à TypeError (natif)

Comment puis-je mettre à niveau ou désinstaller Angular CLI ?

RohanArihant
la source
6
Utilisationnpm uninstall -g angular-cli
ranakrunal9
8
Maintenant, utilisez npm uninstall -g @angular/cli ( stackoverflow.com/questions/43070441/… )
Jeremy Moritz

Réponses:

279

Utilisation des commandes suivantes pour désinstaller:

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

Pour vérifier: ng --version / * Vous obtiendrez le message d'erreur, puis vous avez désinstallé * /

Utilisation des commandes suivantes pour réinstaller:

npm install -g @angular/cli

Remarques: - Utilisation de --force pour nettoyer tous les caches - Sous Windows, exécutez-le en utilisant l' administrateur - Sur Mac, utilisez sudo ( $ sudo <command>)

  • Si vous utilisez, npm>5vous devrez peut-être utiliser la vérification du cache à la place. ( $ npm cache verify)
Santosh Pillai
la source
11
Veuillez noter que Angular CLI est passé à @ angular / cli: [sudo] npm install -g @ angular / cli
Osmund Francis
5
npm cache clean est remplacé par npm cache verfy donc il semble
Arnd Brugman
2
npm ERR! À partir de npm @ 5, le cache npm se guérit automatiquement des problèmes de corruption et les données extraites du cache sont garanties valides. Si vous voulez vous assurer que tout est cohérent, utilisez plutôt 'npm cache verify'.
NoamG
comment désinstaller la dernière version angular cli et installer angular cli 1.6.1
Ayyappa amara
3
@NaomG npm version> 5 n'a pas besoin de vous pour nettoyer le cache .. mais quand même si vous en avez besoin, exécutez-lenpm cache clean --force
Ashish Yadav
27

Aucune des solutions ci-dessus n'a fonctionné à elle seule pour moi. Sur Windows 7, cela a fonctionné:

Installez Rapid Environment Editor et supprimez toutes les entrées pour le nœud,npm, angular-cli or @angular/cli

Désinstallez node.js et réinstallez. Exécutez à nouveau Rapid Environment Editor et assurez-vous que node.js et npm se trouvent dans votre chemin système ou utilisateur. Désinstallez toutes les versions existantes de ng avec:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

Supprimez le C:\Users\YOU\AppData\Roaming\npm\node_modules\@angulardossier.

Redémarrez, puis, enfin, exécutez:

npm install -g @angular/cli

Puis retenez votre souffle et exécutez ng -v. Si vous avez de la chance, vous aurez de l'amour. Retenez votre souffle désormais chaque fois que vous exécutez la commande ng, car «commande not found» a réapparu comme par magie pour moi plusieurs fois après que ng fonctionnait bien et j'ai pensé que le problème était résolu.

VanAlbert
la source
encore plus simple: stackoverflow.com/questions/43070441/…
Jeremy Moritz
15

Exécutez les commandes suivantes pour obtenir la toute dernière version d'angular

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

supprimer la référence globale

npm uninstall -g angular-cli
npm cache clean
À
la source
mais l'erreur est la même. Quelqu'un a-t-il une solution à ce problème fs.js: 640 return binding.open (pathModule._makeLong (path), stringToFlags (flags), mode); ^ TypeError: le chemin doit être une chaîne ou un tampon à TypeError (natif) à Object.fs.openSync (fs.js: 640: 18) à Object.fs.readFileSync (fs.js: 508: 33)
RohanArihant
Il s'agit d'une erreur très générique, il peut s'agir de n'importe quoi, d'une dépendance manquante ou d'une mauvaise configuration. Mieux vaut demander ceci sur github.com/angular/angular.js/issues . BTW ci-dessus est le moyen de désinstaller angular.
AT
ajoutez '--force' à la fin sans les guillemets simples.
Dale
4

Angular cli s'est déplacé vers @angular/cli, donc à partir du readme de github,

sudo npm uninstall -g @angular/cli
npm cache clean
Tout est Vаиітy
la source
4

J'ai récemment couru moi-même sur mac, j'ai dû supprimer le dossier ng /usr/local/bin. Il y a si longtemps que j'ai installé la CLI angulaire, je ne suis pas tout à fait sûr de la façon dont je l'ai installée à l'origine.

jassok
la source
2

Pour le désinstaller globalement, exécutez simplement la commande ci-dessous:

npm uninstall -g @angular/cli

Une fois cela fait, effacez votre cache en exécutant la commande ci-dessous:

npm cache clean

Maintenant, pour installer la version latset d'Angular, exécutez simplement:

npm install -g @angular/cli@latest

Pour plus d'informations sur Angular CLI, jetez un œil à l' introduction angulaire et au guide CLI

Uttam Kumar Mishra
la source
1
Vos trois réponses mentionnent le même lien. Si vous êtes affilié de quelque manière que ce soit, vous devez ajouter une divulgation. Et même si vous faites cela, n'oubliez pas qu'une auto-promotion excessive peut également être considérée comme du spam. Découvrez comment ne pas être un spammeur
Zoe
2

J'ai essayé toutes les choses ci-dessus, et je suis toujours resté dans le monde entier. Donc, dans PowerShell, j'ai couru Get-Command ng, puis il est devenu clair quel était mon problème. J'utilisais beaucoup de fil dans le passé, et tous les anciens packages angular cli étaient également installés dans le monde entier à l'emplacement du cache de fil. J'ai supprimé mon cache de fil pour faire bonne mesure, mais j'aurais probablement pu simplement mettre à jour le cli angulaire global via du fil. Dans tous les cas, j'espère que cela aidera à rappeler à certains d'entre vous que si vous utilisez yarn, alors les commandes globales comme ng peuvent également vivre dans un autre chemin que celui où npm les place.

Rafe
la source
2

Solution régulière, qui ne fonctionne pas toujours:

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

Autre solution plus drastique:

  • Désinstaller Angular CLIglobalement
npm uninstall -g @angular/cli
  • Désinstaller Node.jset npmavec un programme de désinstallation
  • Supprimez toutes les variables d'environnement liées à Node.js&npm
  • Supprimer des dossiers C:\Users\<user>\AppData\Roaming\npmetC:\Users\<user>\AppData\Roaming\npm-cache
  • Vérifiez que ces commandes sont ko:
ng version
npm -v
node -v
npm install -g @angular/cli
  • Enfin, vérifiez votre version globale de la CLI angulaire:
ng version
Veben
la source
1

Bien en ligne avec de nombreuses réponses ci-dessus, même j'ai eu le problème où je ne pouvais pas créer une nouvelle application avec angular cli 9.1.0 sur Mac OS 10.15.3. Mon problème a été résolu en désinstallant le cli angulaire, en nettoyant le cache et en réinstallant le cli angulaire.

npm uninstall -g @angular/cli

Vérifiez l'état de l'installation avec ng --version

npm cache verify
npm install -g @angular/cli

Essayez de créer une nouvelle application avec ng new my-appmaintenant pour voir si ce qui précède vous aide.

Gururaj Birajdar
la source
0

utilisez la commande suivante si vous avez installé globalement,

 npm uninstall -g angular-cli
Ajith KP
la source
0

Pas la réponse à votre question, mais la réponse au problème que vous avez mentionné:

Il semble que vous ayez un mauvais fichier de configuration pour la version angular-cli que vous utilisez.

Dans le fichier angular-cli.json, essayez de modifier ce qui suit:

de:

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

à:

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

J'utilise toujours les commandes suivantes avant de passer à la dernière version. Si c'est pour le préfixe Ubuntu: 'sudo'

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

Exécutez cette commande

npm uninstall angular-cli
Julian Bici
la source
-2

La solution de contournement la plus simple pour continuer à travailler dans votre projet est la ligne de commentaire 25 de node_modules / angular-cli / bin / ng :

// Version.assertPostWebpackVersion();

Jusqu'à ce qu'il soit correctement réparé.

Vadym
la source
1
utiliser npm uninstall -g angular-clI est la meilleure option.
Praveen Rana