wake-up-neo.com

npm "Json konnte nicht analysiert werden"

Wenn ich versuche, express mit npm zu installieren, erhalte ich immer die folgende Fehlermeldung:

Failed to parse json
No data, empty input at 1:1
File: /root/.npm/inherits/2.0.1/package/package.json
Failed to parse package.json data.
package.json must be actual JSON, not just JavaScript.

This is not a bug in npm.
Tell the package author to fix their package.json file. JSON.parse

Was mache ich falsch?

 Sudo npm install -g express

OS ist Ubuntu 12.04 (präzise) Armhf

38
kovogel

Dank an Jivings from diesen Kommentar :

npm cache clean

problem gelöst.

94
kovogel

Ich hatte das gleiche Problem, aber "npm cache clean" löste es nicht für mich. Ich musste zu meinem package.json zurückkehren und erkannte, dass ich ein Komma hatte, wo es nicht wie folgt aussehen sollte:

},
  "devDependencies": {
    "axios": "^0.15.3",
    "bootstrap-sass": "^3.3.7",
    "cross-env": "^3.2.4",
    "jquery": "^3.1.1",
    "laravel-mix": "0.*",
    "lodash": "^4.17.4",
    "vue": "^2.1.10",
  }

nach dem "vue ..." habe ich das also gelöscht und jeder ging wieder normal. Es ist also lohnt es sich zuerst die package.json-Datei zu überprüfen, bevor Sienpm cache clean ausführen

5
adeguk Loggcity

Im Laravel-Projekt:

  1. Löschen Sie den Ordner "node_modules".
  2. npm Cache sauber
  3. npm Update
4
B Ii

Meistens ist dieser Fehler auf einen Syntaxfehler in package.json-Datei zurückzuführen. In meinem Fall fehlte die öffnende geschweifte Klammer für Abhängigkeiten in package.json: -

Code--------------------------------

{
  "name": "psrxjs",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": 
    "rxjs": "^5.4.3"
  }
}

3
Ashish Mishra

Ich habe auch die gleiche Fehlermeldung erhalten, während npm install ausgeführt wurde. Führen Sie zuerst npm package.json aus, um Fehler in der package.json-Datei zu überprüfen. Wenn nicht, führen Sie npm cache clean

3
Avijit Majhi

Zusätzlich zu Pank'sanswer , wenn Sie diese Art von Fehler feststellen

npm ERR! code EJSONPARSE
npm ERR! JSON.parse Failed to parse json
npm ERR! JSON.parse Unexpected token } in JSON at position 550 while parsing near '...eact": "^7.12.4",
npm ERR! JSON.parse   },
npm ERR! JSON.parse   "dependencies":...'
npm ERR! JSON.parse Failed to parse package.json data.
npm ERR! JSON.parse package.json must be actual JSON, not just JavaScript.

Sie müssen sicherstellen, dass Ihr package.json ein gültiger Json ist, kein Javascript.

0
abmap

Bitte überprüfen Sie die nicht verwendeten Leerzeichen in der Datei package.json. Dies kann zu zusätzlichen Leerzeichen führen.

0
Damon Wu

In meinem Fall Missing a comma somewhere in a package.json Überprüfen Sie Ihre package.json-Datei . Danach Sudo npm install 

oder

So reinigen Sie den Cache-Speicher .Sudo npm cache clean

0
Dere Sagar

Das folgende Bash-Skript behebt das Problem automatisch

#!/usr/bin/env bash
echo -e '#!/usr/bin/env bash' > npm_install.sh
cat npm-debug.log | grep 'error File:' | sed -n 's:.*error File\: \(.*\):echo "Removing \1"\nrm -f \1\necho "Cleaning npm cache"\nnpm cache clean\necho "Reinstalling npm"\nnpm install\n./npm_reinstall.sh:p' >> npm_install.sh
chmod +x npm_install.sh
./npm_install.sh

Es sollte in npm_reinstall.sh Gespeichert werden und Ausführungsberechtigungen mit erhalten

chmod +x npm_reinstall.sh

Das Skript führt folgende Aufgaben aus:

  1. Nach einem Fehler suchen Datei: in npm-debug.log mit grep
  2. Verwenden Sie sed, um die Fixbefehle 3-5 nur dann zu generieren, wenn Fehler auftreten
  3. Entfernen der leeren Datei rm -f/1 = Dateipfad aus der ersten Gruppe im regulären Ausdruck . * Error Datei: (. *)
  4. Npm cache löschen npm cache clean
  5. Npm npm install erneut installieren
  6. ./Npm_reinstall.sh rekursiv ausführen, bis keine Fehler gefunden werden

Weitere Informationen zur Installation von npm finden Sie unter Dokumentation zum Befehl npm-install

0

Nach dem Aktualisieren des Knotens unter Windows 10 ist heute ein ähnliches Problem aufgetreten. Meine lokalen Build-Aufgaben scheiterten, und bei der Untersuchung sah ich all diese Fehler in meinen Abhängigkeits-Paketdateien. Keiner von ihnen war mehr gültig als JSON und ich sah Meldungen wie:

npm WARN Failed to parse json
npm WARN Unexpected token '\u0019' at 1:1
npm WARN ������2�����bE�;���1L �\5�e���k2?��,?;��쏏a��(T��w��+I��/�6�P} ��i�|e�
npm WARN ^

in meiner Konsole.

Diese Geschichte hat ein glückliches Ende, denn es stellt sich heraus, dass der neue Knoten nicht mit dem alten NPM gespielt wird und das Update des NPM auf Version 5 das Problem gelöst hat. Hoffe, das hilft anderen Leuten, die diese Variation in dieser Angelegenheit erleben können.

0
cgarvey

Dieses Problem hatte ich einige Male, bevor ich mich an NPM gewöhnte. Die meiste Zeit war es, weil ich npm init vor der Installation von npm nicht verwenden konnte 

0
dodido