web-dev-qa-db-fra.com

Comment mettre à niveau Angular CLI vers la dernière version

En utilisant ng --version j'ai eu:

@ angular/cli: 1.0.0

qui n'est pas la dernière version disponible.

Depuis que j’ai Angular CLI installé globalement sur mon système, j’ai essayé de le mettre à jour:

npm update angular-cli -g

Mais cela ne fonctionne pas, car il reste à la version 1.0.0.

102
Francesco Borzi

Après avoir lu quelques problèmes signalés sur le référentiel GitHub, j'ai trouvé la solution.

Pour mettre à jour le paquet angular-cli installé globalement sur votre système, vous devez exécuter:

npm uninstall -g angular-cli
npm cache clean or npm cache verify #(if npm > 5)
npm install -g @angular/cli@latest

Selon votre système, vous devrez peut-être préfixer les commandes ci-dessus avec Sudo.

En outre, il est fort probable que vous souhaitiez également mettre à jour votre version de projet locale, car celle-ci sera sélectionnée dans le répertoire du projet avec une priorité plus élevée que celle du projet global:

rm -rf node_modules
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install

merci grizzm0 pour avoir signalé ceci sur GitHub .

Après avoir mis à jour votre interface de ligne de commande, vous souhaiterez probablement mettre à jour votre version Angular .

Remarque : si vous effectuez une mise à jour vers Angular CLI 6+ à partir d'une version plus ancienne, vous devrez peut-être lire this .

Edit : En outre, si vous utilisiez toujours une version 1.x de la CLI, vous devez convertir votre angular-cli.json en angular.json, que vous pouvez utiliser avec la commande suivante:

ng update @angular/cli --from=1.7.4 --migrate-only

(cochez this pour plus de détails).

650
Francesco Borzi

ng6 + -> 7.0

Mise à jour de RxJS (dépend de RxJS 6.3)

npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json

Supprimer rxjs-compat

Puis mettez à jour les packages de base et Cli:

ng update @angular/cli @angular/core

(Facultatif: mettez à jour Node.js vers la version 10, qui est prise en charge par NG7)

ng6 + (Cli 6.0 +) : propose des commandes simplifiées

Tout d'abord, mettez à jour votre Cli

npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli

Ensuite, mettez à jour vos paquets de base

ng update @angular/core

Si vous utilisez RxJS, exécutez

ng update rxjs

Il mettra à jour RxJS vers la version 6 et installera le paquetage rxjs-compat sous le capot.

Si vous rencontrez des erreurs de construction, essayez une installation manuelle de:

npm i rxjs-compat
npm i @angular-devkit/build-angular

Enfin, vérifiez votre version

ng v

Note sur la production:

ng6 n'utilise plus intl dans polyfills.ts

//remove them to avoid errors
import 'intl';
import 'intl/locale-data/jsonp/en';

ng5 + (Cli 1.5 +)

npm install @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@next [email protected] rxjs@'^5.5.2'
npm install [email protected] --save-exact

Remarque:

  1. La version TypeScript prise en charge pour Cli 1.6 au moment de l'écriture va jusqu'à 2.5.3.
  2. Utiliser @next met à jour le paquet en version bêta, si disponible. Utilisez @latest pour obtenir la dernière version non-bêta.

Après avoir mis à jour les packages global et local, effacez le cache pour éviter les erreurs:

npm cache verify (recommended)
npm cache clean (for older npm versions)

Voici les références officielles:

  1. Mise à jour du Cli
  2. Mise à jour des packages de base package de base .
145
Pageii Studio

vous pouvez simplement utiliser

npm install -g angular-cli - si c'est votre première fois

npm install -g @angular/cli@latest - si vous êtes déjà installé, donc pour la mise à jour

82
SamYah

Cette commande fonctionne bien:

npm upgrade -g @angular/cli
29
wdavilaneto

La puissante commande installe et remplace le dernier paquet.

J'avais un problème similaire. Je l'ai corrigé.

 npm install -g @angular/cli@latest

et

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

enter image description here

28
BehrouzMoslem

L'approche suivante a fonctionné pour moi:

npm uninstall -g @angular/cli

ensuite

npm cache verify

ensuite

npm install -g @angular/cli@latest

Je travaille sur Windows 10, parfois je devais utiliser: npm cache clean --force également. Vous n'avez pas besoin de le faire si vous n'avez aucun problème lors de l'installation.

16
Enayat

En plus de @ réponse ShinDarth .

J'ai fait ce qu'il a dit mais mon paquet n'a pas mis à jour la version angular, et je sais que cet article concerne angular-cli, mais je pense que cela peut aussi aider.

  • donc, après avoir fait ce que @ShinDarth a dit ci-dessus, pour corriger ma version angular, je devais créer un nouveau projet avec -ng new projectname qui générait un package.
  • copiez le nouveau package, puis collez-le sur tous les packages de projet nécessitant une mise à jour (n'oubliez pas d'ajouter les dépendances que vous aviez et de changer le nom sur la première ligne) ou vous pouvez simplement modifier les versions manuellement sans copier-coller.
  • puis exécutez -npm install.

Maintenant que mon ng serve fonctionne à nouveau, il existe peut-être un meilleur moyen de faire tout cela, si quelqu'un le sait, partagez-le, car il est difficile de faire tous les projets nécessitant une mise à jour.

14

MISE À JOUR:
À partir de CLI v6 vous pouvez simplement exécuter ng update afin que vos dépendances soient mises à jour automatiquement vers une nouvelle version.

Avec ng update vous pouvez parfois vouloir ajouter un indicateur _--force_.

Vous pouvez également passer l'indicateur _--all_ pour mettre à niveau tous les packages obsolètes.

Une fois la mise à jour terminée, assurez-vous que la version de TypeScript que vous avez installée est compatible avec votre version actuelle de angular. Dans le cas contraire, vous devrez peut-être rétrograder la version de TypeScript. Notez également qu'habituellement la dernière version de angular ne prend pas en charge la dernière version de TypeScript.

Consultez également ce guide Mise à jour de vos projets Angular et pdate.angular.io


ANCIENNE REPONSE:
Tout ce que vous avez à faire est de diff avec angular-cli-diff et d’appliquer les modifications dans votre projet actuel.

Voici les étapes:

  1. Disons que vous passez de 1.4. à 1,5 alors vous faites https://github.com/cexbrayat/angular-cli-diff/compare/1.4.0...1.5.
  2. cliquer sur l'onglet _File changed_
  3. Appliquez les modifications à votre projet actuel.
  4. _npm install_/yarn
  5. Testez tous _npm scripts_ ( plus de détails ici: https://stackoverflow.com/a/45431592/415078 )
13
Kuncevič

Pour mettre à jour CLI angulaire vers une nouvelle version, vous devez mettre à jour le package global et le package local de votre projet.

Paquet global:

npm uninstall -g @angular/cli
npm cache clean
# if npm version is > 5 then use `npm cache verify` to avoid errors (or to avoid using --force)
npm install -g @angular/cli@latest

Package de projet local:

rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install

Source: Github

8
Hasan Fathi

Dans mon cas, j’ai installé localement angular-cli avec npm install --save-dev angular-cli. Ainsi, lorsque j'utilise la commande npm install -g @ angular/cli, une erreur est générée en indiquant que "Votre version globale de la CLI Angular (1.7.3) est supérieure à votre version locale (1.4. 9) ". Veuillez noter que angular-cli, @ angular/cli et @ angular/cli @ latest sont deux cli différents. Ce qui résout ce problème est de désinstaller tout le cli, puis d'installer le dernier angular cli à l'aide de npm install -g @ angular/cli @ latest

3
ARKhan