Angular 6 Migration -.angular-cli.json zu angle.json

81

Ich habe mein Projekt auf Angular 6 aktualisiert und bis auf die Konvertierung der .angular-cli.jsonDatei lief alles einwandfrei. Aus der Anleitung, der ich folgte, wurde gesagt, dass dies es automatisch konvertieren wird.

npm install -g @ angle / cli

npm install @ angle / cli

ng update @ angle / cli

Dies war jedoch nicht der Fall, da ich immer noch das alte habe .angular-cli.json

Gibt es eine Möglichkeit, dies automatisch / manuell zu tun?

Dino
quelle
Sie müssen es manuell umbenennen
Pardeep Jain
3
Hast du diesen Leitfaden befolgt ?
E. Sundin
Benennen Sie die Datei nicht um. Es wird gelöscht und neu erstellt, wenn Sie der Anleitung folgen. Wenn Sie es umbenennen, folgen Sie der Anleitung, es wird nicht funktionieren.
Kriil

Antworten:

115

Höchstwahrscheinlich gab es Fehler in einem dieser Befehle. Für mich musste ich npm install -g @angular-devkit/corezuerst ausführen und dann die Befehle ausführen:

npm install -g @angular/cli

npm install @angular/cli

In der Konsolenausgabe von npm install @angular/clisollten Sie sehen:

================================================================================
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
================================================================================

Dann sollten Sie natürlich laufen ng update @angular/cli, um den Prozess abzuschließen.

Weitere Informationen finden Sie im offiziellen Update-Handbuch .

William Hampshire
quelle
2
Es gab einen Fehler mit npm install @ angle / cli ng Update, ich musste es erneut ausführen und es funktionierte :)
Dino
@WilliamHampshire: Ich habe den gleichen Prozess ausgeführt, aber als ich den Befehl npm install @ angle / cli ausführte, wurde der folgende Fehler angezeigt. npm WARN @ angle-devkit / schematics @ 0.0.52 erfordert einen Peer von @ angle-devkit / core @ 0.0.29, aber keiner ist installiert. Sie müssen Peer-Abhängigkeiten selbst installieren. npm WARN @ schematics / angle @ 0.1.17 erfordert einen Peer von @ angle-devkit / core @ 0.0.29, aber keiner ist installiert. Sie müssen Peer-Abhängigkeiten selbst installieren.npm WARN [email protected] erfordert einen Peer von ajv@^6.0.0, aber keiner ist installiert. Sie müssen Peer-Abhängigkeiten selbst installieren.
Abhilash Reddy
2
Was mir fehlte, war das @angular-devkit/corePaket, dessen Installation den Trick gemacht hat.
ColinM
63

Sie können Ihre vorhandene angular-cli.jsonDatei automatisch angular.jsonmit dem folgenden Befehl in eine Datei aktualisieren, vorausgesetzt, Sie befinden sich in Version 6.xx oder höher des Angular Cli-Befehlszeilentools.

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

Im obigen Befehl 1.7.4befindet sich die vorherige CLI-Version, die Sie verwendet haben. Das --migrate-onlyFlag stellt sicher, dass nur eine Migration durchgeführt wird, die installierte Version jedoch nicht aktualisiert wird.

Lesen Sie mehr: Angular / Cli-Github

rgantla
quelle
Hey, ich habe mehrere Optionen ausprobiert, aber Ihre Lösungen haben funktioniert. Mein angle-cli.json wird in angular.json konvertiert. Beim Starten meiner Anwendung ist jedoch ein weiterer Fehler aufgetreten: ng serve Fehler: FEHLER in src / app / workflows / workflow-list / workflow-list.component.ts (441,4): Fehler TS1128: Deklaration oder Anweisung erwartet.
Abhilash Reddy
Endlich hat das bei mir funktioniert! Ich hatte so viele Lösungen ausprobiert, einschließlich aller anderen hier sowie des offiziellen ng update @angular/cliAngular- Update-Handbuchs, aber wann immer ich es ausführte, wurde Angular-Cli.json nie auf Angular.json aktualisiert. Endlich hat es geklappt! Danke vielmals!
Rohan
41

Versuchen Sie zweimal " ng update @ angle / cli " auszuführen, um angular-cli.json auf angular.json zu aktualisieren

AKTUALISIEREN:

Wenn solche Fehler auftreten:

FEHLER: Die angegebene Befehlsaktualisierung ist ungültig. Verfügbare Optionen finden Sie unter ng-help.

Dann müssen Sie 2 Befehle wie folgt ausführen

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

Dadurch wird automatisch angle.json erstellt, .angular-cli.json gelöscht und karma.conf.js, src / tsconfig.spec.json, package.json und tslint.json aktualisiert

Geben Sie hier die Bildbeschreibung ein

T. Shashwat
quelle
21

Ich habe versucht, ein Update von 5.2 -> 6.1 durchzuführen, und bin auf ein Problem gestoßen, bei dem nach dem Ausführen ( npm install @angular/cli@6gefolgt ng update @angular/cli@6von https://update.angular.io/#5.2:6.1 ) mein Update package.jsonaktualisiert wurde, aber keines der anderen Dateien wie .angular-cli.jsonoder tsconfig.jsonwaren, obwohl ich keine Fehler erhalten habe. Ich habe mehrmals versucht, den Update-Befehl auszuführen, aber dies hatte keine Auswirkungen.

Am Ende habe ich die folgenden 3 Befehle ausgeführt, die für mich funktionierten:

npm install @angular/cli@6
ng update @angular/cli
ng update @angular/core@6

Die einzige wirkliche Änderung dort ist der zweite Befehl. Das Dokument sagt, ng update @angular/cli@6dass es ausgeführt werden soll, aber das würde keine der Konfigurationsdateien aktualisieren.

MacK
quelle
3

Um die Version von 5.2 auf 6.0 zu aktualisieren, habe ich die folgenden Schritte ausgeführt.

  • Installieren Sie Knoten 8 oder höher.
  • Garn global add @ angle / cli.
  • Garn hinzufügen @ eckig / cli.
  • ng update @ angle / cli.
  • ng update @ angle / core.

    Hinweis: Wenn nach dem Ausführen des Befehls ng update @ angle / core ein ungültiges Bereichsproblem auftritt, ersetzen Sie einfach die Hauptversion in package.json. Die Nebenversion wird automatisch ersetzt. Ressource: Sie möchten ein Projekt von Angular v5 auf Angular v6 aktualisieren

      - 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.
    

Wenn nach der Installation von npm die Fehlermeldung "Fehlender Pfad" src / styles "angezeigt wird, entfernen Sie die in der Datei" angle.json "unter" Assets Block "angegebenen Pfade aus [" src / styles "," src / fonts "," src / images "," src " / Assets "," src / favicon.ico "] bis [" Assets "," favicon.ico "].

  • Garn global add rxjs-tslint (möglicherweise erforderlich).
  • rxjs-5-to-6-migrate -p src / tsconfig.app.json (möglicherweise erforderlich).
  • Garn installieren @ Winkel / Material @ 6.0.0 (um Materialpakete zu aktualisieren).

=> Bitte beachten Sie, dass Sie angular.cli.json niemals manuell in angular.json umbenennen müssen !!

** Fühlen Sie sich frei zu fragen, ob weitere Fragen auftauchen.

Simran Kaur
quelle
1

Bitte folgen Sie diesen Schritten:

1) Aktualisieren Sie Ihre Angular CLI global und lokal (vorausgesetzt, die neueste Version ist 7).

2) Nehmen Sie Ihr altes Projekt und führen Sie den folgenden Befehl aus

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

Nachdem Sie dies ausgeführt haben, haben Sie alle Ihre Winkelpakete auf die neueste Version aktualisiert.

3) Fügen Sie dieses Paket hinzu, da es noch fehlt

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

4) Erstellen Sie ein neues Projekt mit ng serve (neueste Version)

5) Erstellen Sie eine neue leere Datei mit dem Namen angle.json und kopieren Sie den Inhalt von angle.json aus dem neuen Projekt hinein.

6) Aktualisieren Sie den Namen des Projekts in angle.json entsprechend

7) Führen Sie die npm-Installation aus

8) Run ng Serve

9) Sie sind jetzt mit der neuesten Version von Angular fertig.

Ich habe die obigen Schritte befolgt, um von Angular2 zu Angular7 zu migrieren.

Sourabh Ranka
quelle
Wenn beim Ausführen von ng serve ein Fehler auftritt, überprüfen Sie den Fehler, wenn es sich höchstwahrscheinlich um die Einträge in angle.json handelt, und aktualisieren Sie sie entsprechend. Zum Beispiel - Projektname, Dateipfade usw.
Sourabh Ranka
0

FALL: Die
lokale Arbeitsbereichsdatei ('angle.json') wurde nicht gefunden.
ODER
Der Befehl serve muss in einem Angular-Projekt ausgeführt werden, eine Projektdefinition wurde jedoch nicht gefunden.

Upgrade / Downgrade auf die gewünschte Version (ich habe zum Beispiel Angular 6 ausprobiert)

[sudo] npm install -g -f @angular/[email protected]

Aktualisieren Sie das lokale Projekt

ng update @angular/[email protected]

Und du kannst loslegen :)

ng serve
Bogdan Iudean
quelle
0

Ich musste tatsächlich alle Änderungen festschreiben oder speichern, bevor ich den Befehl zum Aktualisieren der CLI ausführen konnte, wie in diesem Screenshot gezeigt.

Ich habe diese Befehle ausgeführt:

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

ng update@angular/cli

Und die Veränderungen zwischen diesen beiden begehen. Ng dienen

Tore Aurstad
quelle