2015-07-16 28 views
34

quando sto cercando di installare Express con NPM Ho sempre trovato il seguente errore:NPM "Impossibile analizzare JSON"

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 

Che cosa sto facendo di sbagliato?

sudo npm install -g express 

OS è Ubuntu 12.04 (precisi) armhf

+12

run 'cache npm Clean' quindi riprovare – Jivings

+2

può anche essere la pena di verificare per trailing virgole in' package.json' che era il mio (imbarazzante) problema – Rambatino

risposta

-1

Non dimenticare di modificare il pacchetto. Json, in modo esponenziale le dipendenze.

Per esempio, uno dei miei progetti stanza chat ha bisogno il seguente contenuto in package.json:

{ 
    "name":"chatrooms", 
    "version":"0.0.1", 
    "description":"Minimalist multi-room chat server", 
    "dependencies":{ 
     "socket.io":"~0.9.6", 
     "mime":"~1.2.7" 
    } 
} 
3

Ho anche avuto lo stesso messaggio di errore durante la corsa npm install, prima esecuzione npm package.json per verificare errori di package.json file, se poi non eseguito npm cache clean

4

Nel progetto laravel: cartella

  1. Elimina 'node_modules';
  2. cache di
  3. npm pulita
  4. aggiornamento npm
-1

Tentare di aprire il vostro editor txt e selezionare "solo testo" per la package.json poi ri-Save. A volte il problema è trascurato e le cose semplici stanno tenendo la risposta.

0

Ho avuto lo stesso problema ma "npm cache clean" non lo risolve per me. Ho dovuto tornare al mio package.json e rendersi conto che ho avuto da virgole dove non dovrebbe suppongo come illustrato di seguito:

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

dopo il "vue ..." in modo che ho cancellato e ogni tornato a normale. Quindi è la pena di verificare il file package.json prima prima di eseguirenpm cache clean

1

Per lo più, questo errore è dovuto a un errore di sintassi nel file di package.json. Nel mio caso mancava la parentesi graffa di apertura per le dipendenze in package.json: -

Codice ------------------------- -------

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