Quand j'exécute `npm install`, il revient avec` ERR! code EINTEGRITY` (npm 5.3.0)


134

J'obtiens cette erreur lors de l'exécution sudo npm install. Sur mon serveur, npm a été installé plus tôt. J'ai essayé de supprimer le package-lock.jsonfichier et j'ai couru npm cache clean --force, mais cela n'a pas fonctionné.

Ma version npm est la 5.3.0.

L'erreur:

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

Consultez la solution ci-dessous pour contourner la cause du problème, en particulier lorsque la connectivité est un problème.
SherylHohman

Dans mon cas, cela a fonctionné en exécutant simplement à nouveau la commande!
kds23

1
L'exécution de 2 commandes suivantes a résolu mon problème. $ rm -rf package-lock.json node_modules $ npm install
Rao

Réponses:


200

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

Cela a fonctionné pour moi:
npm cache verify

Puis j'ai relancé:
npm install -g create-react-app

Et il s'est installé comme prévu: problème résolu


Les autres solutions mentionnées dans le problème github incluent:

npm cache clean --force

OU

Suppression des dossiers npm et npm-cache dans Users%username%\AppData\Roaming(Windows 7) et exécutionnpm install

OU

Mettre à jour npm par via npm i -g npm

OU

Supprimer package-lock.json

OU

npm cache verify

OU

npm cache clean

OU

Procédez comme suit pour résoudre le problème:

  1. Trouvez tous les packages obsolètes et mettez à jour le thème:
    npm outdated -g
    sudo npm i -g outDatedPKG
  2. Mettez à niveau npm vers la dernière version avec:
    sudo npm i -g npm
  3. Supprimer le package-lock.jsonfichier.
  4. Supprimer le _cacacherépertoire dans ~/.npm: npm cache verify
  5. Chaque fois que j'obtiens cette erreur, suivez les étapes 2 et 3.
  6. Si vous obtenez toujours l'erreur, effacez le cache de npm:
    npm cache clean --force

OU

  1. Ajouter un proxy .npmrcdans le ~répertoire:

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

  1. Réessayer! une connexion Internet lente et la censure peuvent causer ce problème horrible.

OU

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

OU

npm config set package-lock false


1
Je vous remercie! Cela a été très utile et j'ai résolu mon problème en choisissant certaines des options proposées.
jfajunior

Super !! Tellement heureux d'aider :-)
SherylHohman

3
Sheryl, tout d'abord: merci d'avoir pris le temps de répondre. Il est clair que votre réponse a été utile aux gens. Puis-je vous demander ce que fait chacune de ces alternatives et pourquoi certaines peuvent fonctionner alors que d'autres ne le font pas? Merci!
Andres F.

1
@AndresF. Je n'ai pas une compréhension approfondie du fonctionnement du bas du fil, ou quand / pourquoi certaines méthodes fonctionnent sur d'autres. Dans certains cas, ils accomplissent essentiellement la même chose, mais la déclenchent d'une manière différente. J'ai lié au problème github où toutes ces solutions ont été présentées - c'est la source de la liste compilée dans ma réponse. Je suggère de faire des recherches sur le dessous du fil et du npm, ou de vérifier le problème de github lié, peut-être contacter des auteurs individuels si nécessaire.
SherylHohman

En cas de mise à jour de la version node js sur la machine locale, cela passera par cette erreur.
gnganpath

44

Supprimez le fichier package-lock.json, puis essayez d'installer


Merci pour ce commentaire, cela m'a aidé à résoudre le problème, lorsque je déployais un site GatsbyJS sur Netlify.
sathishpaul

J'ai tout essayé ci-dessus et c'était la solution!
Adam Boczek

ouais Cela a fonctionné après la suppression du package-lock.jason et la relance de l'installation de npm
CJM

25

En fait, ce qui précède est lié à la connectivité réseau côté serveur. Lorsque j'ai une bonne connectivité dans le serveur, l'installation de npm s'est bien déroulée et n'a généré aucune erreur


1
Le mien a fonctionné après le passage à une connexion VPN, c'est donc certainement un problème de connexion
bmukorera

13

Mon problème était 2 choses:

  1. Fichier package-lock.json incorrect
  2. L'existence de npm-shrinkwrap.json avec le fichier package-lock.json

Ce que j'ai fait, c'est:

  1. Suppression du fichier package-lock.json
  2. Supprimez le fichier npm-shrinkwrap.json
  3. Ran npm install à nouveau (qui a recréé un bon fichier de verrouillage de package)

Correction de mon erreur!


J'ai eu ce problème en s'appuyant sur AWS Codebuild. Cela a fonctionné pour moi. Merci.
bertie

11

Le problème était en effet dans package-lock.json, et après l'avoir remplacé par une version fonctionnelle d'une autre branche, cela a fonctionné.

Ce qui est intéressant, c'est de voir le diff:

diff

Il y a donc vraiment une somme de contrôle d'intégrité dans le package-lock.jsonpour vérifier que le fichier que vous téléchargez n'a pas été falsifié. C'est juste que d'une manière ou d'une autre, la somme de contrôle d'intégrité a été remplacée dans notre package-lock.jsonpar un SHA1 au lieu d'une somme de contrôle SHA-512. Je n'ai aucune idée de comment cela s'est passé.

Si vous n'avez pas de version fonctionnelle dans une autre branche . Considérez le message

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)

Trouvez le package par les deux premières sommes de contrôle dans package-lock.json:

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

et mettez la troisième somme de contrôle dans son champ "intégrité":

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

Une description plus détaillée est ici .


où est le fichier package-lock.json?
Mamen

@Mamen dans le répertoire racine de votre application, suivant tp package.json. package.json répertorie les dépendances (packages) dont votre application a besoin pour compiler / exécuter. Lorsque vous exécutez yarn installou yarn, les packages répertoriés dans ce fichier seront téléchargés et installés afin que le projet / l'application puisse être exécuté. Le fichier "lock" est une différence entre npm et yarn, garantissant les versions de package et l'intégrité.
SherylHohman

1
La seule solution qui a failli le résoudre pour moi. La suppression package-lock.jsondevrait également y remédier. Au moins dans mon cas. Bien que ce ne soit apparemment pas souhaitable. Et pour être juste, je dois mentionner ici que OP a essayé de supprimer le fichier, de sorte que le cas où cette réponse adresse est probablement quelque peu différent.
x-yuri

4

Essayez ce qui suit:

npm cache clean --force

Cela a fonctionné pour moi.


3
Cela n'ajoute aucune valeur aux réponses qui sont déjà là. Le commentaire le plus voté mentionne déjà npm cache clean --force, donc cette réponse se lit simplement comme du bruit.
Au revoir StackExchange

2
Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire sur la manière et / ou la raison pour laquelle il résout le problème améliorerait la valeur à long terme de la réponse.
Donald Duck

4

Pour contourner le problème, suivez les étapes ci-dessous:

  1. Accédez au répertoire du projet
  2. Supprimez le répertoire node_modules: rm -rf node_modules
  3. Supprimez le fichier package-lock.json: rm package-lock.json
  4. Vider le cache: npm cache clean --force
  5. Exécuter npm install --verbose Si après avoir suivi les étapes ci-dessus, le problème persiste, veuillez nous fournir la sortie de la commande d'installation avec --verbose.

Je suis nouveau à npm. Verbose m'a donné un indice.
Andi AR

3

Il y a plusieurs réponses valides et utiles ici, mais j'aimerais ajouter que dans mon cas, la solution la plus simple était:

  1. Supprimer package-lock.json;
  2. Supprimer le dossier AppData \ Local \ npm \ cache ou AppData \ Roaming \ npm \ cache;
  3. Supprimer le dossier node_modules.staging;
  4. Exécutez à nouveau npm install.

Après cela, tout s'est bien passé.


2

J'utilisais le registre npm privé et j'essayais d'installer le module npm privé. La connexion au registre local de npm l'a corrigé (commande utilisée npm --add-user)


2

J'étais coincé là-dedans pendant longtemps et c'est ce qui m'a aidé.

Essaye ça:

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

J'ai trouvé cette réponse après avoir fouillé dans les problèmes de GitHub !!


1

La réponse de SherylHohman a résolu le problème que j'avais, mais seulement après avoir changé ma connexion Internet. Au départ, j'étais sur la connexion directe au travail et je suis passé à la connexion WiFi au travail, mais cela ne fonctionnait toujours pas.

En dernier recours, j'ai basculé mon WiFi sur un pocket-WiFi, et l'exécution de ce qui suit a bien fonctionné:

npm cache verify

npm install -g create-react-app

create-react-app app-name

J'espère que cela aide les autres.


1

J'ai eu un problème très similaire, et dans mon cas, cela a fonctionné en faisant:

npm clean

C'est l' option nucléaire car elle efface chaque paquet du cache comme expliqué ici .


1

Cela n'a pas encore été mentionné, mais assurez-vous que votre TEMPS SYSTÈME est correct. S'il est trop désynchronisé, cela provoquera une erreur EINTEGRITY. Lorsque vous effectuez la publication / l'installation de npm.


0

La mise à jour .npmrcdes entrées des fichiers pour les packages étendus et non étendus a fonctionné pour moi. Alors j'ai fini par utiliser le

npm config set @scope_name:registry SCOPED_REGISTRY_URL

et

npm config set registry PUBLIC_REGISTRY_URL


0

Exécutez les commandes ci-dessous sur votre projet.

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

0

Je suis derrière le proxy de mon organisation, l'exécution des commandes suivantes a résolu le problème pour moi

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

Nous avons eu ce problème à plusieurs reprises dans l'entreprise dans laquelle je travaille. La suppression du node_modulesdossier du dossier .nvm a résolu le problème:

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

0

La mise à jour .npmrcet le registre ont https://fonctionné pour moi

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

0

Vous devez vérifier le suffixe DNS spécifique à la connexion lorsque vous tapez «ipconfig» ou «ifconfig» dans le terminal


0

J'ai fait face au même problème. De plus, alors que j'essayais de résoudre le problème en choisissant des solutions auprès d'autres développeurs, j'ai rencontré quelques problèmes supplémentaires comme celui répertorié ici.

Angular 9 ng new myapp donne une erreur Le flux de travail schématique a échoué

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

Enfin, après avoir essayé de nettoyer le cache et de vérifier et réinstaller le nœud de différentes versions et la mise à jour npm, nvm et de nombreuses autres solutions telles que définir un proxy et une meilleure connexion Internet, je ne pouvais toujours pas trouver de solution.

Ce qui a fonctionné pour moi, c'est: j'ai parcouru un peu mon dossier C: \ Users ---, j'ai trouvé des fichiers package-lock.json et .npmrc. J'ai supprimé ceux-ci et réinstallé angular et essayé. npm l'installation et la désinstallation de différents modules ont commencé à fonctionner.

problème lors de la création à l'aide de <code> ng new sample-app </code>


0

Avant d'exécuter cette commande

npm install typescript -g

après avoir changé la commande, cela fonctionnait parfaitement.

npm install -g typescript

0

J'ai fait face à ce problème. C'était ma connectivité réseau. J'ai changé de réseau (du WiFi haut débit au WiFi 4G) et j'ai essayé. Ça a marché.

Mon FAI haut débit bloquait toutes les requêtes http. C'est peut-être la raison pour laquelle je suppose dans mon cas.


0

toutes les solutions ont échoué pour moi jusqu'à ce que je vérifie les paramètres du routeur; il a été réglé uniquement sur IPV4 .. J'ai changé et mis ipv4v6 et tout fonctionne bien maintenant.


0

Aucune des réponses ci-dessus n'a fonctionné pour moi. La solution à mon problème était de changer la façon dont la dépendance de snapshot était consommée dans package.json. Utilisez le modèle suivant pour extraire la dépendance d'instantané dont vous avez besoin

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

-1

Essaye ça

  Step-1) Delete package-lock.json from root folder.
  Step-2) Delete node_modules folder
  Step-3) run npm install command in root
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.