Quando eseguo `npm install`, ritorna con` ERR! codice EINTEGRITY` (npm 5.3.0)


134

Ricevo questo errore durante l'esecuzione sudo npm install. Sul mio server, npm è stato installato in precedenza. Ho provato a eliminare il package-lock.jsonfile e ho eseguito npm cache clean --force, ma non ha funzionato.

La mia versione di npm è 5.3.0.

L'errore:

npm ERR! code EINTEGRITY
npm ERR! sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== integrity checksum failed when using sha512: wanted sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== but got sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==. (65117 bytes)

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/ubuntu/.npm/_logs/2017-11-29T05_33_52_182Z-debug.log

Vedere la soluzione di seguito per eludere la causa del problema, soprattutto quando la connettività è un problema.
SherylHohman

Nel mio caso ha funzionato semplicemente eseguendo di nuovo il comando!
kds23

1
L'esecuzione dei seguenti 2 comandi ha risolto il mio problema. $ rm -rf package-lock.json node_modules $ npm install
Rao

Risposte:


200

Vedi https://github.com/npm/npm/issues/16861

Questo ha funzionato per me:
npm cache verify

Quindi ho rieseguito:
npm install -g create-react-app

Ed è stato installato come previsto: problema risolto


Altre soluzioni menzionate nel problema di GitHub includono:

npm cache clean --force

O

Eliminazione delle cartelle npm e npm-cache in Users%username%\AppData\Roaming(Windows 7) ed esecuzionenpm install

O

Aggiorna npm tramite npm i -g npm

O

Elimina package-lock.json

O

npm cache verify

O

npm cache clean

O

Eseguire questi passaggi per risolvere il problema:

  1. Trova tutti i pacchetti obsoleti e aggiorna il tema:
    npm outdated -g
    sudo npm i -g outDatedPKG
  2. Aggiorna npm all'ultima versione con:
    sudo npm i -g npm
  3. Elimina package-lock.jsonfile.
  4. Elimina _cacachedirectory in ~/.npm: npm cache verify
  5. Ogni volta che ricevo quell'errore, esegui i passaggi 2 e 3.
  6. Se ricevi ancora l'errore, svuota la cache di npm:
    npm cache clean --force

O

  1. Aggiungi proxy a .npmrcnella ~directory:

proxy=http://localhost:8123
https-proxy=http://localhost:8123

  1. Riprova! una connessione Internet lenta e la censura possono causare questo brutto problema.

O

npm cache clear --force && npm install --no-shrinkwrap --update-binary

O

npm config set package-lock false


1
Grazie! È stato molto utile e ho risolto il mio problema scegliendo alcune delle opzioni fornite.
jfajunior

Super !! Così felice di aiutare :-)
SherylHohman

3
Sheryl, prima: grazie per aver dedicato del tempo per rispondere. È chiaro che la tua risposta è stata utile alle persone. Posso chiederti cosa fa ciascuna di queste alternative e perché alcune potrebbero funzionare mentre altre no? Grazie!
Andres F.

1
@AndresF. Non ho una profonda comprensione di come funziona il ventre del filato, o quando / perché alcuni metodi funzionano su altri. In alcuni casi essenzialmente realizzano la stessa cosa, ma la attivano in modo diverso. Mi sono collegato al problema di GitHub in cui sono state presentate tutte queste soluzioni: è la fonte dell'elenco compilato nella mia risposta. Suggerisco di fare ricerche nel ventre di filato e npm, o di controllare il problema di github collegato, magari contattando i singoli autori se necessario.
SherylHohman

Nel caso in cui, qualsiasi aggiornamento nella versione del nodo js nella macchina locale, avverrà tramite questo errore.
gnganpath

44

Elimina il file package-lock.json e quindi prova a eseguire l'installazione


Grazie per questo commento, mi ha aiutato a risolvere il problema, quando stavo distribuendo un sito GatsbyJS su Netlify.
sathishpaul

Ho provato tutto sopra e questa era la soluzione!
Adam Boczek

sì Ha funzionato dopo aver eliminato il pacchetto-lock.jason e aver eseguito l'installazione di npm
CJM

25

In realtà quanto sopra è relativo alla connettività di rete nel lato server. Quando ho una buona connettività nel server, l'installazione di npm è andata bene e non ha generato alcun errore


1
Il mio ha funzionato dopo il passaggio a una connessione VPN, quindi è sicuramente un problema di connessione
bmukorera

13

Il mio problema erano due cose:

  1. File package-lock.json non valido
  2. L'esistenza di npm-shrinkwrap.json insieme al file package-lock.json

Quello che ho fatto è:

  1. Eliminato il file package-lock.json
  2. Elimina il file npm-shrinkwrap.json
  3. Ran npm install di nuovo (che ha ricreato un buon file di blocco del pacchetto)

Risolto il mio errore!


Ho riscontrato questo problema durante la creazione di AWS Codebuild. Questo ha funzionato per me. Grazie.
bertie

11

Il problema era effettivamente presente package-lock.jsone dopo averlo sostituito con una versione funzionante di un altro ramo ha funzionato.

La cosa interessante è vedere il diff:

diff

Quindi c'è davvero un checksum di integrità package-lock.jsonper verificare che il file che stai scaricando non sia stato manomesso. È solo che in qualche modo il checksum di integrità è stato sostituito nel nostro package-lock.jsoncon un SHA1 invece di un checksum SHA-512. Non ho idea di come sia successo.

Nel caso in cui non disponi di una versione funzionante in un altro ramo . Considera il messaggio

npm ERR! code EINTEGRITY
npm ERR!
  sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==
integrity checksum failed when using sha512: wanted
  sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==
but got
  sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==
. (65117 bytes)

Trova il pacchetto in base ai primi due checksum in package-lock.json:

sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==

e inserisci il terzo checksum nel campo "integrità":

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

Una descrizione più dettagliata è qui .


dov'è il file package-lock.json?
Mamen

@Mamen nella directory principale della tua app, prossimo tp package.json. package.json elenca le dipendenze (pacchetti) di cui la tua app ha bisogno per compilare / eseguire. Quando esegui yarn installo yarn, i pacchetti elencati in quel file verranno scaricati e installati, quindi il progetto / app può essere eseguito. Il file "lock" è una differenza tra npm e yarn, garantendo le versioni del pacchetto e l'integrità.
SherylHohman

1
L'unica soluzione che si avvicinava a risolverlo per me. Anche l'eliminazione package-lock.jsondovrebbe rimediare. Almeno nel mio caso. Anche se apparentemente non è desiderabile. E per essere onesti, devo menzionare qui che OP ha tentato di eliminare il file, quindi il caso in cui questa risposta si rivolge è probabilmente un po 'diverso.
x-yuri

4

Prova quanto segue:

npm cache clean --force

Questo ha funzionato per me.


3
Questo non aggiunge alcun valore alle risposte che sono già qui. Il commento più votato menziona già npm cache clean --force, quindi questa risposta si legge solo come rumore.
Arrivederci StackExchange

2
Sebbene questo codice possa rispondere alla domanda, fornire un contesto aggiuntivo su come e / o perché risolve il problema migliorerebbe il valore a lungo termine della risposta.
Paperino il

4

Come soluzione alternativa, segui i passaggi seguenti:

  1. Vai alla directory del progetto
  2. Rimuovi la directory node_modules: rm -rf node_modules
  3. Rimuovi il file package-lock.json: rm package-lock.json
  4. Cancella la cache: npm cache clean --force
  5. Esegui npm install --verbose Se dopo aver seguito i passaggi precedenti il ​​problema persiste, fornisci l'output del comando di installazione con --verbose.

Sono nuovo di npm. Verbose mi ha dato qualche suggerimento.
Andi AR

3

Ci sono diverse risposte valide e utili qui, ma vorrei aggiungere che nel mio caso la soluzione più semplice è stata:

  1. Elimina package-lock.json;
  2. Rimuovi la cartella AppData \ Local \ npm \ cache o AppData \ Roaming \ npm \ cache;
  3. Rimuovi la cartella node_modules.staging;
  4. Esegui di nuovo l'installazione di npm.

Dopodiché tutto è filato liscio.


2

Stavo usando il registro npm privato e cercavo di installare il modulo npm privato. L'accesso al registro locale di npm ha risolto il problema (utilizzato comandonpm --add-user )


2

Sono stato bloccato in questo per molto tempo e questo è ciò che mi ha aiutato.

Prova questo:

npm cache clean --force
npm install --update-binary --no-shrinkwrap

Ho trovato questa risposta dopo aver approfondito i problemi di GitHub !!


1

La risposta di SherylHohman risolto il problema che avevo, ma solo dopo aver cambiato la connessione a Internet. Inizialmente, ero sulla linea dura al lavoro e sono passato alla connessione WiFi al lavoro, ma ancora non funzionava.

Come ultima risorsa, ho passato il mio WiFi a un WiFi tascabile e l'esecuzione di quanto segue ha funzionato bene:

npm cache verify

npm install -g create-react-app

create-react-app app-name

Spero che questo aiuti gli altri.


1

Ho avuto un problema molto simile e nel mio caso ha funzionato facendo:

npm clean

Questa è l' opzione nucleare poiché cancella ogni pacchetto dalla cache come spiegato qui .


1

Questo non è stato ancora menzionato ma assicurati che il tuo SYSTEM TIME sia corretto. Se è troppo fuori sincrono, causerà un errore EINTEGRITY. Quando esegui la pubblicazione / installazione di npm.


0

L'aggiornamento delle .npmrcvoci dei file per i pacchetti con e senza ambito ha funzionato per me. Quindi ho finito per usare il file

npm config set @scope_name:registry SCOPED_REGISTRY_URL

e

npm config set registry PUBLIC_REGISTRY_URL


0

Esegui i comandi seguenti sul tuo progetto ..

npm rm -rf node_modules && npm rm package-lock.json && npm rm -rf ~/.npm && npm install --update-binary --no-shrinkwrap

0

Sono dietro il proxy della mia organizzazione, l'esecuzione dei seguenti comandi ha risolto il problema per me

npm config set proxy http://proxy.yourproxydomain.com:port
npm config set https-proxy http://proxy.yourproxydomain.com:port
npm config set strict-ssl false
npm config set registry https://registry.npmjs.org/

0

Abbiamo riscontrato questo problema più volte nell'azienda in cui lavoro. L'eliminazione della node_modulescartella dalla cartella .nvm ha risolto il problema:

rm -rf ~/.nvm/versions/node/v8.6.0/lib/node_modules

0

L'aggiornamento .npmrce il registro hanno https://funzionato per me

registry=https://registry.npmjs.org/

0

Dovresti controllare il suffisso DNS specifico della connessione quando digiti "ipconfig" o "ifconfig" nel terminale


0

Ho affrontato lo stesso problema. Inoltre, mentre stavo cercando di risolvere scegliendo soluzioni da altri sviluppatori, ho riscontrato altri problemi come uno elencato qui.

Angular 9 ng new myapp dà errore Il flusso di lavoro schematico non è riuscito

https://medium.com/@codewin/npm-warn-deprecated-request-2-88-2-b6da20766fd7

Infine, dopo aver provato a pulire la cache e verificare e reinstallare il nodo di diverse versioni e l'aggiornamento di npm, nvm e molte altre soluzioni come set proxy e una migliore connessione Internet, non sono ancora riuscito ad arrivare a una risoluzione.

Quello che ha funzionato per me è: ho sfogliato un po 'all'interno della mia cartella C: \ Users ---, ho trovato i file package-lock.json e .npmrc. Li ho cancellati e ho reinstallato Angular e ho provato. L'installazione e la disinstallazione di npm di diversi moduli hanno iniziato a funzionare.

problema durante la creazione utilizzando <code> ng new sample-app </code>


0

Prima che eseguissi questo comando

npm install typescript -g

dopo aver cambiato il comando ha funzionato perfettamente.

npm install -g typescript

0

Ho affrontato questo problema. Era la mia connettività di rete. Ho cambiato rete (da WiFi a banda larga a WiFi 4G) e ho provato. Ha funzionato.

Il mio ISP a banda larga stava bloccando tutte le richieste http. Questa potrebbe essere la ragione, immagino, nel mio caso.


0

tutte le soluzioni non sono riuscite per me finché non ho controllato le impostazioni del router; era impostato solo su IPV4 .. ho cambiato e messo ipv4v6 e tutto funziona bene ora.


0

Nessuna delle risposte precedenti ha funzionato per me. La soluzione al mio problema era cambiare il modo in cui la dipendenza snapshot veniva consumata all'interno di package.json. Usa il seguente modello per inserire la dipendenza snapshot di cui hai bisogno

"dependency": "git+http://github.com/[pathtoproject].git#[branchname]",

-1

Prova questo

  Step-1) Delete package-lock.json from root folder.
  Step-2) Delete node_modules folder
  Step-3) run npm install command in root
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.