web-dev-qa-db-fra.com

erreur d'installation npm - package.json non valide

J'utilise this tutorial pour comprendre comment implémenter oauth2 dans Node.js.

Ceci est mon package.json:

{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "coffee -w server.coffee"
  },  
  "dependencies": {
    "express": "3.3.4",
    "jade": "*",
    "coffee-script": "latest",
    "passport-http": "latest",
    "passport-http-bearer": "latest",
    "passport-oauth2-client-password": "latest",
    "oauth2orize": "latest",
    "debug" "~0.7.2"
  }
}

Je reçois l'erreur:

npm ERR! install Couldn't read dependencies
npm ERR! Failed to parse json
npm ERR! Unexpected string
npm ERR! File: /Users/jashua/Desktop/auth/package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR! 
npm ERR! This is not a bug in npm.
npm ERR! Tell the package author to fix their package.json file. JSON.parse

npm ERR! System Darwin 12.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/jashua/Desktop/auth
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.5
npm ERR! file /Users/jashua/Desktop/auth/package.json
npm ERR! code EJSONPARSE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/me/Desktop/auth/npm-debug.log
npm ERR! not ok code 0

Des idées ce qui ne va pas avec mon package.json?

10
tldr

L'erreur signifie exactement ce qu'elle dit, le JSON dans votre package.json n'est pas valide et ne peut pas être analysé correctement. Remplacez "debug" "~0.7.2" par "debug": "~0.7.2".

11
hexacyanide

Parfois, vous pourriez avoir des caractères unicode étranges dans votre package.json. Par exemple, vous pourriez avoir \u00A0 (espace insécable unicode) au lieu d'un espace quelque part. Il semble le même dans l'éditeur, alors méfiez-vous.

(Je viens d'avoir un tel problème après avoir copié un petit morceau de config à partir d'un blog.)

0
mik01aj

Utilisez cette commande pour résoudre le problème lié à package.json.

npm cache clean

0
Himabindu Appali

Mon projet était dans D:\wwwroot\Projet 2017\Android\PluginTest\PluginTest\plugins\cordova-plugin-iservice

Le problème est l'espace entre Projets (ici) 2017

J'ai supprimé de l'espace pour: D:\wwwroot\Projetos2017\Android\PluginTest\PluginTest\plugins\cordova-plugin-iservice

et travail bien

0
Anti-puff

J'ai eu le même problème causé par les modifications que j'avais apportées à mon fichier package.json. Je viens de revenir à ma version de sauvegarde du fichier package.json. J'ai joint ce qui suit si quelqu'un d'autre en a besoin:

{"name": "OpenShift-Sample-App",
 "version": "1.0.0",
 "description": "OpenShift Sample Application",
 "keywords": [
   "OpenShift",
   "Node.js",
   "application",
   "openshift"
 ],
 "author": {
   "name": "OpenShift",
   "email": "[email protected]",
   "url": "http://www.openshift.com/"
 },
 "homepage": "http://www.openshift.com/",
 "repository": {
   "type": "git",
   "url": "https://github.com/openshift/Origin-server"
 },
 "engines": {
   "node": ">= 0.6.0",
   "npm": ">= 1.0.0"
 },
 "dependencies": {
   "express": "~3.4.4"
 },
 "devDependencies": {},
 "bundleDependencies": [],
 "private": true,
 "main": "server.js"
}
0
Arthur

Je suis arrivé à cette page en raison de la même erreur NPM, mais d'une cause différente. Après avoir consulté les fichiers journaux, je me suis rendu compte que npm n’aimait pas mon commentaire sur la première ligne du fichier.

// package.json
{ ...
}

Après avoir supprimé tous les commentaires, npm a parfaitement fonctionné. Mon commentaire n'était pas nécessaire, donc ça va comme ça. Mais si vous avez besoin de commentaires dans votre fichier xml, voir Comment ajouter des commentaires à package.json pour npm install?

0
mightypile