Wenn ich "npm install" ausführe, wird "ERR!" Code EINTEGRITY` (npm 5.3.0)

132

Ich erhalte diesen Fehler beim Ausführen sudo npm install. Auf meinem Server wurde npm früher installiert. Ich habe versucht, die package-lock.jsonDatei zu löschen , und bin gelaufen npm cache clean --force, aber es hat nicht funktioniert.

Meine npm-Version ist 5.3.0.

Der Fehler:

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
SANITH
quelle
Siehe Lösung unter der Ursache des Problems zu umgehen, vor allem , wenn die Verbindung ist ein Problem.
SherylHohman
In meinem Fall hat es funktioniert, indem der Befehl einfach erneut ausgeführt wurde!
kds23
1
Das Ausführen der folgenden 2 Befehle hat mein Problem gelöst. $ rm -rf package-lock.json node_modules $ npm install
Rao

Antworten:

198

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

Das hat bei mir funktioniert:
npm cache verify

Dann lief ich noch einmal:
npm install -g create-react-app

Und es wurde wie erwartet installiert: Problem behoben


Andere in der Github-Ausgabe erwähnte Lösungen umfassen:

npm cache clean --force

ODER

Löschen der Ordner npm und npm-cache in Users%username%\AppData\Roaming(Windows 7) und Ausführennpm install

ODER

Aktualisieren Sie npm über npm i -g npm

ODER

Löschen package-lock.json

ODER

npm cache verify

ODER

npm cache clean

ODER

Führen Sie die folgenden Schritte aus, um das Problem zu beheben:

  1. Hier finden Sie alle veralteten Pakete und das Update-Thema:
    npm outdated -g
    sudo npm i -g outDatedPKG
  2. Aktualisieren Sie npm auf die neueste Version mit:
    sudo npm i -g npm
  3. package-lock.jsonDatei löschen .
  4. _cacacheVerzeichnis löschen in ~/.npm: npm cache verify
  5. Führen Sie jedes Mal, wenn ich diesen Fehler erhalte, die Schritte 2 und 3 aus.
  6. Wenn der Fehler weiterhin angezeigt wird, löschen Sie den Cache von npm:
    npm cache clean --force

ODER

  1. In Proxy .npmrcin ~Verzeichnis:

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

  1. Versuch es noch einmal! Eine langsame Internetverbindung und Zensur können dieses hässliche Problem verursachen.

ODER

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

ODER

npm config set package-lock false

SherylHohman
quelle
1
Danke dir! Das war sehr hilfreich und ich habe mein Problem gelöst, indem ich einige der angegebenen Optionen ausgewählt habe.
jfajunior
Super !! So froh zu helfen :-)
SherylHohman
3
Sheryl, zuerst: Danke, dass du dir die Zeit genommen hast, dies zu beantworten. Es ist klar, dass Ihre Antwort für die Menschen hilfreich war. Kann ich Sie fragen, was jede dieser Alternativen bewirkt und warum einige funktionieren, wenn andere dies nicht tun? Vielen Dank!
Andres F.
1
@AndresF. Ich habe kein tiefes Verständnis dafür, wie der Unterbauch von Garn funktioniert oder wann / warum einige Methoden gegenüber anderen funktionieren. In einigen Fällen erreichen sie im Wesentlichen dasselbe, lösen es jedoch auf andere Weise aus. Ich habe auf das Github-Problem verwiesen, in dem all diese Lösungen vorgestellt wurden - es ist die Quelle der zusammengestellten Liste in meiner Antwort. Ich schlage vor, den Unterbauch von Garn und Npm zu untersuchen oder das damit verbundene Github-Problem zu untersuchen und sich gegebenenfalls an einzelne Autoren zu wenden.
SherylHohman
Falls ein Update in der Version des Knotens js auf dem lokalen Computer erfolgt, wird dieser Fehler behoben.
Gnganpath
43

Löschen Sie die Datei package-lock.json und versuchen Sie dann, sie zu installieren

Gaurav Joshi
quelle
Vielen Dank für diesen Kommentar. Er hat mir geholfen, das Problem zu beheben, als ich eine GatsbyJS-Site für Netlify bereitgestellt habe.
Sathishpaul
Versuchte alles oben und das war die Lösung!
Adam Boczek
24

Tatsächlich hängt das Obige mit der Netzwerkkonnektivität auf der Seite des Servers zusammen. Wenn ich eine gute Konnektivität auf dem Server habe, ist die npm-Installation gut gelaufen und hat keinen Fehler ausgelöst

SANITH
quelle
1
Meins funktionierte nach der Umstellung auf eine VPN-Verbindung, es ist also definitiv ein Verbindungsproblem
bmukorera
13

Mein Problem waren 2 Dinge:

  1. Fehlerhafte Datei package-lock.json
  2. Das Vorhandensein von npm-shrinkwrap.json zusammen mit der Datei package-lock.json

Was ich getan habe ist:

  1. Die Datei package-lock.json wurde gelöscht
  2. Löschen Sie die Datei npm-shrinkwrap.json
  3. Ran npm install erneut (wodurch eine gute Paketsperrdatei neu erstellt wurde)

Mein Fehler wurde behoben!

Merkur
quelle
Ich hatte dieses Problem beim Aufbau von AWS Codebuild. Das hat bei mir funktioniert. Vielen Dank.
Bertie
10

Das Problem lag tatsächlich vor package-lock.json, und nachdem es durch eine funktionierende Version aus einem anderen Zweig ersetzt wurde, funktionierte es.

Interessant ist der Unterschied:

diff

Es gibt also wirklich eine Integritätsprüfsumme in der package-lock.json, um zu überprüfen, ob die heruntergeladene Datei nicht manipuliert wurde. Es ist nur so, dass irgendwie die Integritätsprüfsumme in unserer package-lock.jsondurch eine SHA1 anstelle einer SHA-512 Prüfsumme ersetzt wurde. Ich habe keine Ahnung, wie das passiert ist.

Falls Sie keine funktionierende Version in einem anderen Zweig haben . Betrachten Sie die Nachricht

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)

Finden Sie das Paket anhand der ersten beiden Prüfsummen in package-lock.json:

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

und geben Sie die dritte Prüfsumme in das Feld "Integrität" ein:

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

Eine detailliertere Beschreibung finden Sie hier .

Sashoalm
quelle
Wo ist die Datei package-lock.json?
Mamen
@Mamen im Stammverzeichnis Ihrer App, neben tp package.json. package.json listet die Abhängigkeiten (Pakete) auf, die Ihre App zum Kompilieren / Ausführen benötigt. Wenn Sie yarn installoder ausführen yarn, werden die in dieser Datei aufgeführten Pakete heruntergeladen und installiert, sodass das Projekt / die App ausgeführt werden kann. Die "Sperr" -Datei ist ein Unterschied zwischen npm und Garn, wodurch Paketversionen und Integrität sichergestellt werden.
SherylHohman
1
Die einzige Lösung, die es für mich fast geschafft hätte. Das Löschen package-lock.jsonsollte ebenfalls Abhilfe schaffen. Zumindest in meinem Fall. Obwohl das anscheinend nicht wünschenswert ist. Und um fair zu sein, muss ich hier erwähnen, dass OP versucht hat, die Datei zu löschen, so dass der Fall, dass diese Antwortadressen wahrscheinlich etwas anders sind.
x-yuri
4

Versuche Folgendes:

npm cache clean --force

Das hat bei mir funktioniert.

Kolaaa
quelle
3
Dies erhöht den Wert der bereits vorhandenen Antworten nicht. Der am höchsten bewertete Kommentar erwähnt bereits npm cache clean --force, daher liest sich diese Antwort nur als Rauschen.
Auf Wiedersehen StackExchange
2
Während dieser Code die Frage möglicherweise beantwortet, würde die Bereitstellung eines zusätzlichen Kontexts darüber, wie und / oder warum das Problem gelöst wird, den langfristigen Wert der Antwort verbessern.
Donald Duck
4

Führen Sie zur Umgehung dieses Problems die folgenden Schritte aus:

  1. Gehen Sie zum Projektverzeichnis
  2. Entfernen Sie das Verzeichnis node_modules: rm -rf node_modules
  3. Entfernen Sie die Datei package-lock.json: rm package-lock.json
  4. Leeren Sie den Cache: npm cache clean --force
  5. Ausführen npm install --verbose Wenn nach dem Ausführen der obigen Schritte das Problem weiterhin besteht, geben Sie die Ausgabe des Installationsbefehls mit --verbose an.
Vanessa Ortiz
quelle
Ich bin neu bei npm. Verbose gab mir einen Hinweis.
Andi AR
3

Hier gibt es mehrere gültige und hilfreiche Antworten, aber ich möchte hinzufügen, dass in meinem Fall die einfachste Lösung war:

  1. Packet-lock.json löschen;
  2. Entfernen Sie den Ordner AppData \ Local \ npm \ cache oder AppData \ Roaming \ npm \ cache.
  3. Entfernen Sie den Ordner node_modules.staging.
  4. Führen Sie die npm-Installation erneut aus.

Danach lief alles reibungslos.

jfajunior
quelle
2

Ich habe die private npm-Registrierung verwendet und versucht, das private npm-Modul zu installieren. Die Protokollierung bei der lokalen Registrierung von npm hat das Problem behoben (verwendeter Befehl npm --add-user)

Sai Ram
quelle
2

Ich war lange dabei und das hat mir geholfen.

Versuche dies:

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

Ich habe diese Antwort gefunden, nachdem ich mich mit GitHub-Problemen befasst habe !!

Raj
quelle
1

SherylHohmans Antwort löste das Problem, das ich hatte, aber erst nachdem ich meine Internetverbindung gewechselt hatte. Anfangs war ich bei der Arbeit auf der Festnetzverbindung und habe bei der Arbeit auf die WiFi-Verbindung umgestellt, aber das hat immer noch nicht funktioniert.

Als letzten Ausweg habe ich mein WLAN auf ein Pocket-WLAN umgestellt, und das Ausführen der folgenden Funktionen hat gut funktioniert:

npm cache verify

npm install -g create-react-app

create-react-app app-name

Hoffe das hilft anderen.

AJ Singh
quelle
1

Ich hatte ein sehr ähnliches Problem, und in meinem Fall funktionierte es folgendermaßen:

npm clean

Dies ist die nukleare Option, da jedes Paket wie hier beschrieben aus dem Cache gelöscht wird .

Sebastian D'Agostino
quelle
1

Dies wurde noch nicht erwähnt, aber stellen Sie sicher, dass Ihre SYSTEMZEIT korrekt ist. Wenn es zu nicht synchron ist, wird ein EINTEGRITY-Fehler verursacht. Wenn Sie npm veröffentlichen / installieren.

Chad Scira
quelle
0

Das Aktualisieren der .npmrcDateieinträge für Pakete mit und ohne Gültigkeitsbereich hat bei mir funktioniert. Also habe ich das benutzt

npm config set @scope_name:registry SCOPED_REGISTRY_URL

und

npm config set registry PUBLIC_REGISTRY_URL

Ketcomp
quelle
0

Führen Sie die folgenden Befehle für Ihr Projekt aus.

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

Ich stehe hinter dem Proxy meiner Organisation. Durch Ausführen der folgenden Befehle wurde das Problem für mich behoben

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/
user3966432
quelle
0

Wir hatten dieses Problem mehrmals in der Firma, in der ich arbeite. Das Löschen des node_modulesOrdners aus dem .nvm-Ordner hat das Problem behoben:

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

Aktualisierung .npmrcund die Registrierung https://funktionierte für mich

registry=https://registry.npmjs.org/
Matthew Blewitt
quelle
0

Sie sollten das verbindungsspezifische DNS-Suffix überprüfen, wenn Sie im Terminal "ipconfig" oder "ifconfig" eingeben

Güçlü Kıvanç
quelle
0

Ich stand vor dem gleichen Problem. Während ich versuchte, Lösungen von anderen Entwicklern auszuwählen, sah ich mich mit einigen weiteren Problemen konfrontiert, wie dem hier aufgeführten.

Angular 9 ng new myapp gibt Fehler Der schematische Workflow ist fehlgeschlagen

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

Nachdem ich versucht hatte, den Cache zu bereinigen und den Knoten verschiedener Versionen zu überprüfen und neu zu installieren, und npm update, nvm und viele andere Lösungen wie Set-Proxy und bessere Internetverbindung, konnte ich immer noch keine Lösung finden.

Was für mich funktioniert hat ist: Ich habe ein bisschen in meinem Ordner C: \ Users --- gestöbert und die Dateien package-lock.json und .npmrc gefunden. Ich habe diese gelöscht und eckig neu installiert und versucht. Die npm-Installation und -Deinstallation verschiedener Module begann zu funktionieren.

Problem beim Erstellen mit <code> ng new sample-app </ code>

code_Jammy
quelle
0

Bevor ich diesen Befehl ausführte

npm install typescript -g

Nach dem Ändern des Befehls funktionierte es perfekt.

npm install -g typescript
Bishwajit Vikram
quelle
0

Ich habe mich diesem Problem gestellt. Es war meine Netzwerkverbindung. Ich habe das Netzwerk geändert (von Breitband-WLAN zu 4G-WLAN) und es versucht. Es funktionierte.

Mein Breitband-ISP hat alle http-Anfragen blockiert. Das könnte der Grund sein, den ich in meinem Fall denke.

Mani Bharathy
quelle
0

Alle Lösungen sind für mich fehlgeschlagen, bis ich die Router-Einstellungen überprüft habe. es wurde nur auf IPV4 gesetzt. Ich habe ipv4v6 geändert und gesetzt und jetzt funktioniert alles einwandfrei.

k_a_ r_i_s-
quelle
0

Keine der oben genannten Antworten hat bei mir funktioniert. Die Lösung für mein Problem bestand darin, die Art und Weise zu ändern, in der die Snapshot-Abhängigkeit in package.json verwendet wurde. Verwenden Sie die folgende Vorlage, um die benötigte Snapshot-Abhängigkeit abzurufen

"dependency": "git+http://github.com/[pathtoproject].git#[branchname]",
Zach Pedigo
quelle
-1

Versuche dies

  Step-1) Delete package-lock.json from root folder.
  Step-2) Delete node_modules folder
  Step-3) run npm install command in root
Jitendra Suthar
quelle