NPM-Installationsfehler: Unerwartetes Ende der JSON-Eingabe beim Parsen in der Nähe von '… nt-webpack-plugin “:” 0'

207

Beim Erstellen eines neuen Angular 5-Projekts:

Knotenversion: 8.9.2

npm-Version: 5.5.1

Mein Befehl ist

npm install -g @angular/cli

Der Fehler ist

npm ERR! **Unexpected end of JSON input while parsing near '...nt-webpack-plugin":"0'**
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Aashitec\AppData\Roaming\npm-cache\_logs\2017-12-06T13_10_10_729Z-debug.log

Das Fehlerprotokoll lautet http://www.aashitechno.in/2017-12-06T13_10_10_729Z-debug.log

Kathir
quelle
7
"npm cache clean --force" ohne Anführungszeichen könnte die Antwort auf Ihre Frage sein.
Bimal
3
@Bimal npm cache clean --forcefunktioniert für mich, danke!
Tonix
Arbeitete für mich, sagte, es hoffte, ich wüsste, was ich tat. Ich hab nicht.
carny666
sudo npm cache clean --force sudo npm cache verify sudo npm i npm@latest -gDiese Befehle funktionierten für mich
Zohab Ali
npm cache clean --force funktioniert für mich danke
Praveen Verma vor

Antworten:

540

Das hat es für mich gelöst:

Öffnen Sie Windows Powershell als Administrator

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

https://devblogs.microsoft.com/premier-developer/getting-started-with-node-js-angular-and-visual-studio-code/

mcemmy
quelle
9
hat für mich gearbeitet! aber müssen das Terminal als Admin öffnen
Sérgio S. Filho
@ McEmmy: Ich habe getan, wie Sie erwähnt haben ... aber es taucht immer noch das Problem aufUnexpected token , in JSON at position 366360 while parsing near '... } npm ERR! } npm ERR! }, npm ERR! "webpack-log":...'
Kalanka
@Kalanka möchten Sie mitteilen, ob Sie dies gelöst haben und wie Sie es getan haben?
Mcemmy
Das wiederholte Ausführen von npm cache clean --force und npm install -g @ angle / cli @ latest löste meine Probleme. npm Cache sauber laufen hat nicht geholfen
Squapl Rezepte
2
Das funktioniert aber wenn ich es unter C:\Users\[user-name]\AppData\Roaming\npmHauptverzeichnis laufen
Market
99

Lösung:

npm cache clean --force

Versuchen Sie dann erneut, Ihre App zu erstellen (hier beim Erstellen einer Reaktions-App) oder zu installieren, was Sie installieren wollten.

create-react-app myproject

(Erstellen einer Reaktions-App) [dasselbe npm-Problem, das bei verschiedenen Vorgängen auftreten kann]

npm install -g @angular/cli@latest

(Installation von Angular Cli (oder Installation von etwas anderem))

Es wird klappen.

Erläuterung:

Das ist ein Problem im Zusammenhang mit npm, es geht um den Cache, der beschädigt wird. Obwohl sie in neueren Versionen von npm Selbstheilung implementiert haben, die normalerweise keine Korruption garantieren, scheint es nicht so effizient zu sein. Geben Sie hier die Bildbeschreibung ein Durch Erzwingen eines sauberen Caches wird das Problem behoben.

Der Fehler tritt auf, wenn eine der Cache-Dateien analysiert wird, die ein JSON-Format haben. Der Cache befindet sich unter ~ / .npm / _cacache (unter Linux) und% AppData% / npm-Cache (Windows). Für meine aktuelle npm-Version und als ich nachgesehen habe, gab es drei Verzeichnisse.
Geben Sie hier die Bildbeschreibung ein

Wenn Sie die erste oder die zweite überprüfen, ist die Struktur wie folgt Geben Sie hier die Bildbeschreibung ein

Und jede Cache-Datei hat ein JSON-Format (und das, was analysiert wird) Geben Sie hier die Bildbeschreibung ein

Hier ein guter Link aus dem Dokument: https://docs.npmjs.com/cli/cache

[Update] Auch wenn dies nicht der Fall ist, können Sie diese Antwort hier unter https://stackoverflow.com/a/50191315/7668448 überprüfen. Sie zeigt, wie Sie die npm-Registrierung ändern können. Dies kann hilfreich sein. Überprüfen und sehen.

Mohamed Allal
quelle
Gut erklärte Antwort, Sir, vielen Dank. Ich habe mich gefragt, warum dies passiert ist, und ich habe vermutet, dass meine Dateien aufgrund einer schlechten Internetverbindung beschädigt wurden, wodurch die Cache-Datei beschädigt wurde, da der Download nicht vollständig war. Könnte dies wahr sein
Charles
1
Ja und ein unsicheres Nein. Ja, das war in der Vergangenheit ein Problem. Gemäß dieser Ausgabe Thread github.com/npm/npm/issues/4652 . Aber sie arbeiten daran. Jetzt bin ich mir nicht sicher, vielleicht ist es gelöst. Es hängt alles von der Implementierung ab und davon, wie npm alle Schritte vom Abrufen über das Zwischenspeichern bis zur Installation verwaltet. Ich habe momentan keine Zeit, npm internal durchzugehen. Aber ich gehe auf diese Frage ein und recherchiere. Ich werde einen Artikel schreiben und die Antwort später aktualisieren, wenn sie fertig ist. Wisse, dass sie möglicherweise einen anderen Grund für den Fehler haben als eine Cache-Beschädigung,
Mohamed Allal
2
Siehe docs.npmjs.com/common-errors#invalid-json . Für Registrierungsprobleme gibt es verdaccio, dass man github.com/verdaccio/verdaccio versuchen kann . empfohlen gemäß diesen Threads github.com/npm/npm/issues/21181 , github.com/npm/npm/issues/21112 . Und hier ein Thread über den Cache und wie sie sich bewegten github.com/npm/npm/issues/4652 . Ein weiterer Artikel, der Geschichte ist, ist jetzt infoworld.com/article/3198746/javascript/… . Ich lasse Sie wissen, wenn ich meine Recherche beendet und einen Artikel geschrieben habe.
Mohamed Allal
Hier ein interessanter Thread: Hier ein interessanter Thread github.com/yarnpkg/yarn/issues/393
Mohamed Allal
1
Das Problem hatte mich eine Weile und zurück mit beständigen Fehlern gestört. Dank dieses Beitrags habe ich die beiden Ordner gelöscht und jetzt funktionieren die Dinge für mich richtig! Danke
Jim Yu
30

Wenn

npm cache clean --force

funktioniert nicht Versuchen

npm cache clean --force
npm update
MD SHAYON
quelle
1
Diese Antwort sollte mehr Stimmen bekommen. Das Aktualisieren ist ein wichtiger Schritt und ich habe auch fast 3 Stunden verschwendet, weil ich diese Antwort nicht finden konnte
Vaibhav Gautam
1
Ab Mai 2020 ist dies die einzige Lösung, die tatsächlich einwandfrei für den Workflow-Fehler funktioniert
Akhil
1
Kein Zweifel, es ist in der Tat eine perfekte Antwort. Die einzige Lösung hat bei mir funktioniert.
Mr. Noddy
1
+1 von mir auch, es hat großartig funktioniert und in der Tat die einzige Lösung, die funktioniert hat, nachdem ich tagelang versucht hatte, alles andere zu reparieren ...
Nickast
Es hat bei mir ab Juni 2020 funktioniert. Bitte
stimmen
14

Npm verwendet Cache, um neue Pakete für Sie herunterzuladen. Sie müssen Ihren npm-Cache leeren. Verwenden Sie zum Reinigen den folgenden Befehl:

npm cache clean --force

Verwenden Sie dann normalerweise Ihren Befehl npm install, z

npm install -g @angular/cli
Amit Gaikwad
quelle
10

Löschen Sie die Ordner npm und npm-cache in C: \ Users \ admin \ AppData \ Roaming \ (Windows) und führen Sie dann cmd aus

npm cache clear --force

npm Cache überprüfen

Aktualisieren Sie npm auf die neueste Version

npm i -g npm

Erstellen Sie dann Ihr Projekt 1) Angular

npm i -g @ angle / cli @ spätestens

ng neue HelloWorld

2) Reagieren

npm i -g create-react-app

create-react-app reag-app

Ravinder Reddy Kottabad
quelle
9

Ich löse das mit

npm cache clean --force

dann npm aktualisieren

npm i npm@latest -g

Verwenden Sie dann normalerweise Ihren Befehl npm install

npm install 
Hasibul-
quelle
6

Ich verwende Windows und habe alle unten aufgeführten Dateien entfernt. Mein Problem wurde behoben. C: \ Benutzer {{Ihr Benutzername}} \ AppData \ Roaming \ npm-Cache

Milad Karimi
quelle
6

das löste es npm cache clean --force

Blutverlust
quelle
5

Einfache Lösungen:

npm cache clean --force
npm install 
Shashwat Gupta
quelle
5

npm cache clean --force arbeitete für mich

Fehler behoben:

$ npm install -g gulp npm WARN veraltet [email protected]: gulp-util ist veraltet - ersetzen Sie es gemäß den Richtlinien unter https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm ERR! Unerwartetes Ende der JSON-Eingabe beim Parsen in der Nähe von '... / RGs88STtAtiMP3tCiNdU'

npm ERR! Ein vollständiges Protokoll dieses Laufs finden Sie in: npm ERR! C: \ Benutzer \ admin \ AppData \ Roaming \ npm-cache_logs \ 2018-11-20T07_38_56_733Z-debug.log

user10680309
quelle
3

Dieser Befehl allein löste mein Problem:

npm cache clean --force

Außerdem sollten Sie sicherstellen, dass Sie die richtige Version des Knotens verwenden.

Verwenden von nvm zum Verwalten der Knotenversion:

nvm list; # check your local versions;
nvm install 10.10.0; # install a new remote version;
nvm alias default 10.10.0; # set the 10.10.0 as the default node version, but you have to restart the terminal to make it take effect;
Gehört
quelle
3

Lösung

npm cache clean --force

Für Windows: Gehen Sie zu C:\Users\username\AppData\Roaming\npm-cache
Alle Dateien löschen und ausführen

npm install && npm start
Mahendra
quelle
3

Ich habe das gelöst, indem ich zuerst den Cache mit bereinigt habe

npm cache clean --force

Dann

npm install -g @angular/cli
Wunsch Kaleba
quelle
2

Es ist ein Fehler von Ihrer npm ....

Also deinstallieren Sie den Knoten und installieren Sie ihn erneut.

Es klappt....

PS: Nachdem Sie den Knoten erneut installiert haben, installieren Sie Angular Cli global.

npm install -g @angular/cli@latest
raghu rkm
quelle
2

Ich habe mein Problem mit diesem einen Liner gelöst

npm cache clean --force

Es funktioniert die ganze Zeit wie ein Zauber. Ich liebe Einzeiler. Hinweis: Da es sich um eine Neuinstallation handelt, hatte ich keine Bedenken, den npm-Cache zu leeren.

Pasignatur
quelle
2

FEHLER: npm FEHLER! Unerwartetes Ende der JSON-Eingabe beim Parsen in der Nähe von '... ore-js ":" 3.0.0-beta.1

Dies tritt auf, wenn die Expo-CLI global installiert wird. Dies funktioniert bei mir!

npm cache clean --force
Lahiru Amarathunge
quelle
2

Ich habe error ( file already exists --force to overwrite) erhalten, nachdem ich den folgenden Code ausgeführt habe:

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

Ich habe es gelöst mit:

npm i -g --force npm

Stellen Sie sicher, dass Sie die ersten Befehle ausführen, um den Cache von npm zu leeren.

Rijo
quelle
1

Ich löse das mit

Löschen Sie zuerst package-lock.json

npm cache clean --force

dann npm aktualisieren

npm i npm@latest -g

Verwenden Sie dann den Befehl npm install

npm install 
Muhammad Tahir
quelle
1

Sie können Garnpaket- Manager anstelle von npm verwenden.

Es hat dieses Problem für mich gelöst

Vahid Khakestani
quelle
0

Anstatt den Cache zu leeren, können Sie einen temporären Ordner festlegen:

npm install --cache /tmp/empty-cache

oder

npm install --global --cache /tmp/empty-cache

Ab npm @ 5 heilt sich der npm-Cache selbst von Korruptionsproblemen und die aus dem Cache extrahierten Daten sind garantiert gültig. Wenn Sie sicherstellen möchten, dass alles konsistent ist, verwenden Sie npm cache verifystattdessen. Wenn Sie dagegen ein Problem mit dem Installationsprogramm debuggen, können Sie npm install --cache /tmp/empty-cacheeinen temporären Cache verwenden, anstatt den eigentlichen zu löschen.

Gianfranco P.
quelle
0

Für mich musste ich meinen Zweig wieder klonen und tunnpm install

mtchuente
quelle
0

Ich bin mit diesem Problem konfrontiert und habe alle Antworten auf Stackoverflow ausprobiert, aber nicht für mich funktioniert. Schließlich habe ich eine Lösung für dieses Problem gefunden:

  • Zunächst müssen Sie nodejs deinstallieren und alle ihn verwandten Dateien entfernen
  • Gehen Sie zu "Register Editor" und suchen Sie nach allen "nodejs", "node.js" und löschen Sie sie
  • Starte deinen Computer neu
  • Installieren Sie nodejs neu und installieren Sie Angular.

Es hat bei mir funktioniert

Mohamad Alhamid
quelle
0

Wenn npm cache clean --forcedas Problem nicht behoben werden kann, löschen Sie das ~/.npmVerzeichnis (* nix / macOS). Dies ist das Verzeichnis, in dem der Knoten seinen Cache, Sperren, Protokolle, globalen Pakete (sofern Sie nicht nvm verwenden ) und über installierte Module speichertnpx .

Sichern Sie zunächst Ihr aktuelles ~./npmVerzeichnis:

mv ~/.npm ~/.npm-backup

Versuchen Sie nun erneut, Ihren Befehl npm auszuführen. Dadurch wird ein neues ~/.npmVerzeichnis erstellt. Wenn das Problem behoben ist, können Sie Ihr Backup sicher entfernen. Zuvor möchten Sie möglicherweise die in Ihrem ~/.npm-backupVerzeichnis installierten globalen Pakete überprüfen, damit Sie sie mithilfe von neu installieren können npm i -g [package].

rm -rf ~/.npm-backup

Wenn das Problem nicht behoben ist, können Sie Ihr Backup wiederherstellen:

rm -rf ~/.npm
mv ~/.npm-backup ~/.npm

Vorsicht mit diesen rmBefehlen, Leute!

jhildenbiddle
quelle
0

Diese Befehle haben bei mir funktioniert

sudo npm cache clean --force

sudo npm cache verify

sudo npm i npm@latest -g
Zohab Ali
quelle
-2

Danach npm cache clean --force

Möglicherweise können Sie auflegen oder auf die weitere Ausführung warten

npm WARN mit --force Ich hoffe, Sie wissen, was Sie tun.

Sie können diesen also auch verwenden. Dies löst mein Problem.

npm install --cache / tmp / empty-cache

Balwant Singh
quelle