Beim Ausführen wird ng serve
die Warnung angezeigt, dass meine globale CLI-Version größer als meine lokale Version ist. Ich habe keine Probleme mit dieser Warnung bemerkt, aber ich habe mich gefragt, ob die beiden Versionen synchron sein sollten. Ist es auch erforderlich, eine lokale Version zu haben, wenn Sie eine globale Version haben?
Die Warnung:
Ihre globale Angular CLI-Version (1.1.1) ist größer als Ihre lokale Version (1.0.6). Die lokale Angular CLI-Version wird verwendet.
angular-cli
Reich
quelle
quelle
Antworten:
Um eine der Fragen zu beantworten, muss sowohl eine globale als auch eine lokale Installation vorhanden sein, damit die Tools funktionieren.
Wenn Sie versuchen,
ng serve
eine Anwendung ohne die lokale Installation der CLI auszuführen (nur globale Installation), wird der folgende Fehler angezeigt.Diese Nachricht wird auch gedruckt:
Führen Sie diesen
npm
Befehl aus, um die CLI lokal zu aktualisieren, und vermeiden Sie die Warnung, die Sie erhalten.Frage: Es sieht aus wie sie nicht haben synchron sein, aber es ist wahrscheinlich am besten , dass sie in Ordnung sind ungewöhnliche Verhalten mit dem Werkzeug zu vermeiden oder Unstimmigkeiten mit dem Code des Werkzeug erzeugt.
Warum benötigen wir sowohl die globale als auch eine lokale Installation?
Die globale Installation wird benötigt, um eine neue Anwendung zu starten. Der
ng new <app-name>
Befehl wird mithilfe der globalen Installation der CLI ausgeführt. Wenn Sie versuchen,ng new
in der Ordnerstruktur einer vorhandenen CLI-Anwendung ausgeführt zu werden, wird der folgende Fehler angezeigt:Andere Befehle , die von den globalen ausgeführt werden können installieren
ng help
,ng get/set
mit der--global
Option,ng version
,ng doc
, undng completion
.Die lokale Installation der CLI wird verwendet, nachdem eine Anwendung erstellt wurde. Auf diese Weise können Sie Ihre globale Installation aktualisieren, wenn neue Versionen der CLI verfügbar sind, ohne die lokale Installation zu beeinträchtigen. Dies ist gut für die Stabilität eines Projekts. Die meisten
ng
Befehle nur dann Sinn , mit der lokalen Version machen, wielint
,build
undserve
etc.Gemäß der CLI GitHub- Readme- Datei müssen Sie zum Aktualisieren der CLI das globale und lokale Paket aktualisieren. Ich habe jedoch die CLI verwendet, bei der die globale und die lokale Version bisher problemlos variieren. Wenn ich jemals auf einen Fehler stoße, der darauf zurückzuführen ist, dass die globalen und lokalen CLI-Versionen nicht synchron sind, werde ich dies hier veröffentlichen.
quelle
So habe ich das Problem gelöst.
Kopieren Sie diese Befehle und führen Sie sie aus
quelle
rm node_modules/.bin/ng
. Hat perfekt funktioniert.Dies funktioniert bei mir: Die lokale Version wird auf den neuesten Stand gebracht
um die Version zu überprüfen
quelle
ng serve --open
und erhalten "Diese Version von CLI ist nur mit Angular Version 5.0.0 oder höher kompatibel. Unter dem folgenden Link finden Sie Anweisungen zum Aktualisieren von Angular. Angular-update-guide.firebaseapp.com "Dann in Ihrem lokalen Projektpaket:
Wurde unter Fehler Fehler: Unerwartetes Ende der JSON-Eingabe Unerwartetes Ende der JSON-Eingabe Die oben genannten Schritte wurden in diesem Beitrag unterstützt. Angular kann nicht auf Version 6 aktualisiert werden
quelle
Ihre vorhandene Konfiguration kann automatisch aktualisiert werden, indem Sie den folgenden Befehl ausführen:
oder:
quelle
In meinem Fall habe ich diesen Befehl gerade in project verwendet:
quelle
Führen Sie den folgenden Befehl aus:
npm install --save-dev @angular/cli@latest
Nach dem Ausführen des obigen Befehls zeigt die Konsole möglicherweise die folgende Meldung an
quelle
Ich spreche Englisch nicht fließend
Aber wenn ich das Problem verstehe, haben Sie lokal im Projekt eine ältere Version von CLI als global?
Und möchten Sie diese globale neuere anstelle der lokalen älteren verwenden?
In diesem Fall reicht eine sehr einfache Methode aus, um im Projektverzeichnis ausgeführt zu werden
npm link @angular/cli
mehr zum Thema auf der Seite: https://docs.npmjs.com/cli/link
quelle
Finden Sie zuerst die globale Angular-Cli-Version heraus, indem Sie ausführen
Der obige Code zeigt, um welche Version es sich bei den globalen und lokalen Angular-Cli-Versionen handelt.
Wenn Sie möchten, dass der globale und der lokale Winkel-Cli gleich sind, können Sie dies einfach tun
Dabei ist 1.7.4 Ihre globale Angular-Cli-Version
Wenn Sie dann
ng serve --open
Ihren Code ausführen, sollte er ausgeführt werden.quelle
Sie müssen nur das AngularCli aktualisieren
quelle
Aktualisieren Sie die Angular-CLI für einen Arbeitsbereich (lokal).
Hinweis: Stellen Sie sicher, dass die globale Version mit dem Befehl '-g' installiert wird, wenn sie ordnungsgemäß installiert wurde.
Führen Sie den Befehl Aktualisieren aus, um eine Liste aller Abhängigkeiten abzurufen, die aktualisiert werden müssen
Weiter Führen Sie den folgenden Aktualisierungsbefehl für jedes einzelne Angular-Kernpaket aus
Ich musste jedoch zusätzlich den Befehl '–force' und '–allow-dirty' Flags hinzufügen, um alle anderen ausstehenden Probleme zu beheben.
quelle
Dies sollte das Problem lösen:
quelle
Mach einfach diese Dinge
quelle
npm install --save-dev @ angle-devkit / build-angle - hat ng update @ angular / cli geholfen -> hat angle.json und andere Updates erstellt.
Installierte Abhängigkeiten sammeln ... 58 Abhängigkeiten gefunden.
quelle
Entfernen Sie den aktuellen Winkel und installieren Sie die spezifische Version.
Überprüfe die Version
ng --version
Wenn nicht erforderlich, deinstallieren Sie die Version
npm deinstalliere -g @ angle / cli
wenn npm vesrion <5.x
npm Cache sauber
Überprüfen Sie den Cache
npm Cache überprüfen
Installieren Sie die spezifische Version
npm install -g @ angle / cli @ major.minor.patch
quelle