92 votes

Migration d'Angular 6 - .angular-cli.json vers angular.json

J'ai mis à jour mon projet vers Angular 6, et tout s'est bien passé, sauf la conversion de l'élément .angular-cli.json fichier. Dans le guide que j'ai suivi, il était dit que cela le convertirait automatiquement.

npm install -g @angular/cli

npm install @angular/cli

ng update @angular/cli

Cependant, ce n'était pas le cas, car j'ai encore l'ancienne .angular-cli.json

Existe-t-il un moyen de le faire automatiquement / manuellement ?

0 votes

Vous devez le renommer manuellement

5 votes

Avez-vous suivi ce guide ?

0 votes

Ne renommez pas le fichier. Il sera supprimé et recréé lorsque vous suivrez le guide. Si vous le renommez, puis suivez le guide, cela ne fonctionnera pas.

121voto

William Hampshire Points 2412

Il est probable qu'il y ait eu des erreurs dans l'une de ces commandes. Pour moi, j'ai dû exécuter npm install -g @angular-devkit/core d'abord et ensuite exécuter les commandes :

npm install -g @angular/cli

npm install @angular/cli

Dans la sortie de la console de npm install @angular/cli vous devriez voir :

================================================================================
The Angular CLI configuration format has been changed, and your existing configuration can
be updated automatically by running the following command:

  ng update @angular/cli
================================================================================

Alors vous devez évidemment exécuter ng update @angular/cli pour terminer le processus.

Voir le Guide officiel de mise à jour pour plus de détails.

2 votes

Il y avait une erreur avec npm install @angular/cli ng update, j'ai dû le relancer et ça a marché :)

0 votes

@WilliamHampshire : J'ai suivi le même processus, mais lorsque j'exécute la commande npm install @angular/cli , j'ai obtenu l'erreur suivante. npm WARN @angular-devkit/schematics@0.0.52 requiert un pair de @angular-devkit/core@0.0.29 mais aucun n'est installé. Vous devez installer vous-même les dépendances des pairs. npm WARN @schematics/angular@0.1.17 requiert un pair de @angular-devkit/core@0.0.29 mais aucun n'est installé. Vous devez installer les dépendances vous-même. npm WARN ajv-keywords@3.2.0 requiert un pair de ajv@^6.0.0 mais aucun n'est installé. Vous devez installer vous-même les dépendances des pairs.

2 votes

Ce qui me manquait, c'était le @angular-devkit/core l'installation de ce paquet a fait l'affaire.

92voto

rgantla Points 786

Vous pouvez automatiquement mettre à jour vos angular-cli.json pour angular.json en utilisant la commande ci-dessous, à condition d'utiliser la version 6.x.x ou supérieure de l'outil de ligne de commande angular cli.

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

Dans la commande ci-dessus 1.7.4 est la version précédente de cli que vous utilisiez. Le site --migrate-only permet de s'assurer qu'il n'effectue qu'une migration mais ne met pas à jour la version installée. Utiliser --to au lieu de @angular/cli@6 à cause de https://github.com/angular/angular-update-guide/issues/64 .

lire plus : angular/cli-github

0 votes

Hé, j'ai essayé plusieurs options mais vos solutions ont fonctionné. Mon angular-cli.json est converti en angular.json. Mais j'ai une autre erreur lorsque je démarre mon application : ng serve Error : ERREUR dans src/app/workflows/workflow-list/workflow-list.component.ts(441,4) : error TS1128 : Declaration or statement expected.

1 votes

Enfin, voilà ce qui a marché pour moi ! J'avais essayé tellement de solutions, y compris toutes les autres ici ainsi que le guide officiel de mise à jour angulaire, mais chaque fois que j'exécutais ng update @angular/cli il n'a jamais mis à jour angular-cli.json vers angular.json. Finalement, ça a marché ! Merci beaucoup !

42voto

T. Shashwat Points 567

Essayez de lancer " ng update @angular/cli " deux fois cela mettra à jour angular-cli.json en angular.json

UPDATE :

si vous obtenez des erreurs comme celle-ci :

ERREUR : La mise à jour de la commande spécifiée n'est pas valide, pour les options disponibles voir ng-help.

alors vous devez exécuter 2 commandes comme suit

  1. npm install --save-dev @angular/cli@latest.
  2. ng update @angular/cli

ceci créera automatiquement angular.json, supprimera .angular-cli.json et mettra à jour karma.conf.js, src/tsconfig.spec.json, package.json et tslint.json.

enter image description here

3voto

Simran kaur Points 111

Pour la mise à jour de la version 5.2 à 6.0, j'ai suivi les étapes suivantes.

  • Installez Node 8 ou plus.
  • yarn global add @angular/cli.
  • yarn ajouter @angular/cli.
  • ng mise à jour @angular/cli.
  • ng mise à jour @angular/core.

    Remarque : si, après avoir exécuté ng update @angular/core commandement, plage non valide le problème se pose, alors suivez les instructions ci-dessous, remplacez simplement l'interrupteur de l'appareil. version majeure dans package.json, il remplacera automatiquement le mineur. Ressource : Vous voulez mettre à jour votre projet d'Angular v5 à Angular v6.

      - npm uninstall -g angular-cli
      - npm cache clean or npm cache verify
      - npm install -g @angular/cli@next
      - then, replace lower versions to higher versions in package.json 
        file.
      - delete node modules folder.
      - run npm/yarn install.

En npm install Si vous obtenez l'erreur du chemin src/styles manquant, supprimez les chemins donnés dans le fichier angular.json sous le bloc assets de ["src/styles", "src/fonts", "src/images", "src/assets", "src/favicon.ico"] à ["assets", "favicon.ico"].

  • yarn global add rxjs-tslint (éventuellement requis).
  • rxjs-5-to-6-migrate -p src/tsconfig.app.json (éventuellement requis).
  • yarn install @angular/material@6.0.0 (pour mettre à jour les paquets matériels).

\=> Veuillez noter vous n'aurez jamais besoin de renommer angular.cli.json à angular.json manuellement !

** N'hésitez pas à demander si vous avez d'autres questions.

1voto

Sourabh Ranka Points 57

Veuillez suivre les étapes suivantes :

1) Mettez à jour votre CLI Angular globalement et localement (en supposant que la dernière version soit 7)

2) Prenez votre ancien projet et exécutez la commande suivante

  • npm install @angular/cli
  • ng update @angular/cli

Après avoir exécuté cette opération, vous avez mis à jour tous vos paquets angulaires à la dernière version.

3) Ajoutez ce paquet car il est toujours manquant.

npm install @angular-devkit/core --save -dev

4) créer un nouveau projet avec ng serve (dernière version)

5) Créez un nouveau fichier vide avec le nom angular.json et copiez le contenu de angular.json du nouveau projet dans ce fichier.

6) Mettre à jour le nom du projet en conséquence dans angular.json

7) Exécuter npm install

8) Run ng serve

9) Vous êtes maintenant prêt avec la dernière version d'angular.

J'ai suivi les étapes ci-dessus pour migrer d'angular2 à angular7.

0 votes

Dans le cas où vous obtenez une erreur dans l'exécution de ng serve, vérifier l'erreur si elle est très probablement les entrées dans angular.json, les mettre à jour en conséquence. Par exemple, le nom du projet, le chemin des fichiers, etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X