web-dev-qa-db-fra.com

npm "échec de l'analyse de Json"

Lorsque j'essaie d'installer Express avec NPM, l'erreur suivante persiste:

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

Qu'est-ce que je fais mal?

 Sudo npm install -g express

OS est sous Ubuntu 12.04 (précis) armhf

38
kovogel

Merci à Jivings de ce commentaire :

npm cache clean

résolu le problème.

94
kovogel

J'ai eu le même problème mais "npm cache clean" ne l'a pas résolu pour moi. Je devais revenir à mon package.json et réaliser que j'avais une virgule où il ne devrait pas, je suppose, comme indiqué ci-dessous:

},
  "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",
  }

après la "vue ..." donc j'ai supprimé cela et tout est revenu à la normale. Donc, il est mérite de vérifier le fichier package.json avant de lancer} __ npm cache clean

5
adeguk Loggcity

Dans le projet Laravel:

  1. Supprimer le dossier 'node_modules';
  2. npm cache clean
  3. npm update
4
B Ii

Généralement, cette erreur est due à une erreur de syntaxe dans le fichier package.json . Dans mon cas, l'accolade d'ouverture pour l'objet dépendances dans package.json était manquante: -

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

J'ai également reçu le même message d'erreur lors de l'exécution de npm install; exécutez d'abord npm package.json pour vérifier les erreurs dans le fichier package.json. Sinon, exécutez npm cache clean

3
Avijit Majhi

En plus de Pank'srépondre , si vous rencontrez ce genre d'erreur

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.

Vous devez vous assurer que votre package.json est un json valide, pas un javascript.

0
abmap

Dans mon cas Missing a comma somewhere in a package.json Vérifiez votre fichier package.json . Après ce Sudo npm install 

ou

Pour nettoyer la mémoire cache .Sudo npm cache clean

0
Dere Sagar

Le script bash suivant résout le problème automatiquement

#!/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

Il devrait être enregistré dans npm_reinstall.sh Et disposer des autorisations d’exécution avec

chmod +x npm_reinstall.sh

Le script effectue les tâches suivantes:

  1. Vous recherchez une erreur Fichier: dans npm-debug.log à l'aide de grep
  2. Utilisez sed pour générer les commandes de correction 3-5 uniquement en cas d'erreur.
  3. Suppression du fichier vide rm -f/1 = chemin du fichier du premier groupe de l'expression régulière . * Error Fichier: (. *)
  4. Nettoyage du cache npm npm cache clean
  5. Réinstallation de npm npm install
  6. Lancer récursivement ./npm_reinstall.sh jusqu'à ce qu'aucune erreur ne soit trouvée

Pour plus d’informations sur l’installation de npm, voir la documentation de la commande npm-install

0
Tomer Bar-Shlomo

J'ai rencontré un problème similaire aujourd'hui après la mise à jour de Node sous Windows 10. Mes tâches de génération locales ont commencé à échouer. Après enquête, j'ai constaté toutes ces erreurs dans mes fichiers de dépendance package.json. JSON n’était plus valide et je voyais des messages du type:

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 ^

dans ma console.

Cette histoire a une fin heureuse car il s'avère que le nouveau Nœud ne joue pas avec Nice avec l'ancien NPM et la mise à jour de NPM vers la version 5 a résolu le problème. J'espère que cela aidera d'autres personnes susceptibles de subir cette variation sur ce sujet.

0
cgarvey

J'ai rencontré ce problème plusieurs fois avant de m'habituer à utiliser NPM. La plupart du temps, c'était parce que je n'avais pas utilisé npm init avant l'installation de npm 

0
dodido