Cuando ejecuto `npm install`, vuelve con` ERR! código EINTEGRITY` (npm 5.3.0)

133

Recibo este error mientras se ejecuta sudo npm install. En mi servidor, npm se instaló anteriormente. Intenté eliminar el package-lock.jsonarchivo y corrí npm cache clean --force, pero no funcionó.

Mi versión npm es 5.3.0.

El error:

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
fuente
Consulte la Solución a continuación para evitar la causa del problema, especialmente cuando la conectividad es un problema.
SherylHohman
¡En mi caso funcionó simplemente ejecutando el comando nuevamente!
kds23
1
Ejecutar los siguientes 2 comandos resolvió mi problema. $ rm -rf package-lock.json node_modules $ npm install
Rao

Respuestas:

199

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

Esto funcionó para mí:
npm cache verify

Luego volví a correr:
npm install -g create-react-app

Y se instaló como se esperaba: problema resuelto


Otras soluciones mencionadas en el tema de github incluyen:

npm cache clean --force

O

Eliminar carpetas npm y npm-cache en Users%username%\AppData\Roaming(Windows 7) y ejecutarnpm install

O

Actualizar npm por via npm i -g npm

O

Eliminar package-lock.json

O

npm cache verify

O

npm cache clean

O

Siga estos pasos para solucionar el problema:

  1. Encuentra todos los paquetes obsoletos y el tema de actualización:
    npm outdated -g
    sudo npm i -g outDatedPKG
  2. Actualice npm a la última versión con:
    sudo npm i -g npm
  3. Eliminar package-lock.jsonarchivo
  4. Eliminar _cacachedirectorio en ~/.npm: npm cache verify
  5. Cada vez que recibo ese error, siga los pasos 2 y 3.
  6. Si aún recibe el error, borre el caché de npm:
    npm cache clean --force

O

  1. Añadir proxy para .npmrcen el ~directorio:

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

  1. ¡Inténtalo de nuevo! La lenta conexión a internet y la censura pueden causar este feo problema.

O

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

O

npm config set package-lock false

SherylHohman
fuente
1
¡Gracias! Eso fue muy útil y resolví mi problema eligiendo algunas de las opciones dadas.
jfajunior
Súper !! Muy contento de ayudar :-)
SherylHohman
3
Sheryl, primero: gracias por tomarte el tiempo de responder esto. Está claro que su respuesta fue útil para las personas. ¿Puedo preguntarle qué hace cada una de estas alternativas y por qué algunas pueden funcionar cuando otras no? ¡Gracias!
Andres F.
1
@AndresF. No tengo una comprensión profunda de cómo funciona la parte inferior del hilo, o cuándo / por qué algunos métodos funcionan sobre otros. En algunos casos, esencialmente logran lo mismo, pero lo activan de una manera diferente. Me relacioné con el problema de github donde se presentaron todas estas soluciones: es la fuente de la lista compilada en mi respuesta. Sugiero que se investigue la parte inferior del hilo y el npm, o que revise el problema de github vinculado, tal vez contactar a autores individuales si es necesario.
SherylHohman
En el caso, cualquier actualización en la versión del nodo js en la máquina local, pasará por este error.
gnganpath
43

Elimine el archivo package-lock.json e intente instalar

Gaurav Joshi
fuente
Gracias por este comentario, me ayudó a resolver el problema cuando estaba implementando un sitio GatsbyJS en Netlify.
sathishpaul
Intenté todo lo anterior y esta fue la solución!
Adam Boczek
24

En realidad, lo anterior está relacionado con la conectividad de red en el lado del servidor. Cuando tengo buena conectividad en el servidor, la instalación de npm salió bien y no arrojó ningún error

SANITH
fuente
1
Mina trabajaron después de cambiar a una conexión VPN, por lo que es sin duda un problema de conexión
bmukorera
13

Mi problema fue 2 cosas:

  1. Archivo incorrecto package-lock.json
  2. La existencia de npm-shrinkwrap.json junto con el archivo package-lock.json

Lo que hice es:

  1. Eliminado el archivo package-lock.json
  2. Eliminar el archivo npm-shrinkwrap.json
  3. Ran npm install again (que recreó un buen archivo de bloqueo de paquete)

¡Arreglado mi error!

Mercurio
fuente
Tuve este problema al construir en AWS Codebuild. Esto funcionó para mí. Gracias.
bertie
10

El problema estaba en efecto package-lock.json, y después de reemplazarlo con una versión funcional de otra rama, funcionó.

Lo interesante es ver la diferencia:

diff

Por lo tanto, realmente hay una suma de comprobación de integridad en el package-lock.jsonpara verificar que el archivo que está descargando no ha sido alterado. Es solo que de alguna manera la suma de verificación de integridad fue reemplazada en nuestra package-lock.jsoncon un SHA1 en lugar de una suma de verificación SHA-512. No tengo idea de cómo sucedió esto.

En caso de que no tenga una versión que funcione en otra sucursal . Considera el mensaje

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)

Encuentre el paquete por las dos primeras sumas de verificación en package-lock.json:

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

y coloca la tercera suma de verificación en su campo de "integridad":

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

Una descripción más detallada está aquí .

sashoalm
fuente
¿dónde está el archivo package-lock.json?
Mamen
@Mamen en el directorio raíz de su aplicación, siguiente tp package.json. package.json enumera las dependencias (paquetes) que su aplicación necesita para compilar / ejecutar. Cuando ejecuta yarn installo yarn, los paquetes enumerados en ese archivo se descargarán e instalarán, por lo que se puede ejecutar el proyecto / aplicación. El archivo de "bloqueo" es una diferencia entre npm e hilo, asegurando las versiones del paquete y la integridad.
SherylHohman
1
La única solución que estuvo cerca de resolverlo por mí. Eliminar también package-lock.jsondebería remediarlo. Al menos en mi caso. Aunque eso aparentemente no es deseable. Y para ser justos, debo mencionar aquí que OP intentó eliminar el archivo, por lo que el caso de que esta respuesta aborde es probablemente algo diferente.
x-yuri
4

Intenta lo siguiente:

npm cache clean --force

Esto me ha funcionado.

Kolaaa
fuente
3
Esto no agrega ningún valor a las respuestas que ya están aquí. El comentario más votado ya menciona npm cache clean --force, por lo que esta respuesta solo se lee como ruido.
Adiós StackExchange
2
Si bien este código puede responder la pregunta, proporcionar un contexto adicional sobre cómo y / o por qué resuelve el problema mejoraría el valor a largo plazo de la respuesta.
Pato Donald
4

Como solución alternativa, siga los pasos a continuación:

  1. Ir al directorio del proyecto
  2. Elimine el directorio node_modules: rm -rf node_modules
  3. Eliminar el archivo package-lock.json: rm package-lock.json
  4. Borrar el caché: npm cache clean --force
  5. Ejecutar npm install --verbose Si, después de seguir los pasos anteriores, el problema persiste, indíquenos el resultado del comando de instalación con --verbose.
Vanessa Ortiz
fuente
Soy nuevo en npm. Verbose me dio una pista.
Andi AR
3

Aquí hay varias respuestas válidas y útiles, pero me gustaría agregar que en mi caso la solución más simple fue:

  1. Eliminar package-lock.json;
  2. Eliminar la carpeta AppData \ Local \ npm \ cache o AppData \ Roaming \ npm \ cache;
  3. Eliminar la carpeta node_modules.staging;
  4. Ejecute npm install nuevamente.

Después de eso todo transcurrió sin problemas.

jfajunior
fuente
2

Estaba usando el registro npm privado e intentaba instalar el módulo npm privado. El registro en el registro local de npm lo arregló (comando usado npm --add-user)

Sai Ram
fuente
2

Estuve atrapado en esto durante mucho tiempo y esto es lo que me ayudó.

Prueba esto:

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

¡Encontré esta respuesta después de profundizar en los problemas de GitHub!

Raj
fuente
1

La respuesta de SherylHohman resolvió el problema que tenía, pero solo después de que cambié mi conexión a Internet. Inicialmente, estaba en la conexión de línea dura en el trabajo, y cambié a la conexión WiFi en el trabajo, pero eso todavía no funcionó.

Como último recurso, cambié mi WiFi a una WiFi de bolsillo, y ejecutar lo siguiente funcionó bien:

npm cache verify

npm install -g create-react-app

create-react-app app-name

Espero que esto ayude a otros.

AJ Singh
fuente
1

Tuve un problema muy similar, y en mi caso funcionó haciendo:

npm clean

Esta es la opción nuclear , ya que borra todos los paquetes de la memoria caché como se expande aquí .

Sebastian D'Agostino
fuente
1

Esto aún no se mencionó, pero asegúrese de que su HORA DEL SISTEMA sea correcta. Si no está sincronizado, provocará un error de EINTEGRIDAD. Cuando estás haciendo npm publicar / instalar.

Chad Scira
fuente
0

La actualización de las .npmrcentradas de los archivos para paquetes con y sin ámbito funcionó para mí. Así que terminé usando el

npm config set @scope_name:registry SCOPED_REGISTRY_URL

y

npm config set registry PUBLIC_REGISTRY_URL

Ketcomp
fuente
0

Ejecute los siguientes comandos en su proyecto.

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

Estoy detrás del proxy de mi organización, ejecutar los siguientes comandos me solucionó el problema

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/
usuario3966432
fuente
0

Tuvimos este problema varias veces en la empresa en la que trabajo. Eliminar la node_modulescarpeta de la carpeta .nvm solucionó el problema:

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

Actualización .npmrcy el registro https://funcionó para mí

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

Debe verificar el sufijo DNS específico de la conexión cuando escriba "ipconfig" o "ifconfig" en la terminal

Güçlü Kıvanç
fuente
0

Me enfrenté al mismo problema. Además, mientras trataba de resolver la elección de soluciones de otros desarrolladores, me enfrenté a algunos problemas más, como uno que se enumera aquí.

Angular 9 ng nuevo myapp da error El flujo de trabajo esquemático falló

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

Finalmente, después de intentar limpiar el caché y verificar y reinstalar el nodo de diferentes versiones y la actualización de npm, nvm y muchas otras soluciones como establecer proxy y una mejor conexión a Internet, aún no pude llegar a una resolución.

Lo que funcionó para mí es: navegué un poco dentro de mi carpeta C: \ Users ---, encontré los archivos package-lock.json y .npmrc. Los eliminé y reinstalé angular e intenté. La instalación y desinstalación de npm de diferentes módulos comenzó a funcionar.

problema al crear usando <code> ng nueva aplicación de muestra </code>

code_Jammy
fuente
0

Antes de ejecutar este comando

npm install typescript -g

después de cambiar el comando funcionó perfectamente.

npm install -g typescript
Bishwajit Vikram
fuente
0

Me enfrenté a este problema. Fue mi conectividad de red. Cambié la red (de Broadband WiFi a 4G WiFi) y lo intenté. Funcionó.

Mi ISP de banda ancha estaba bloqueando todas las solicitudes http. Esa podría ser la razón, supongo en mi caso.

Mani Bharathy
fuente
0

todas las soluciones fallaron para mí hasta que verifiqué la configuración del enrutador; se configuró solo para IPV4 ... cambié y puse ipv4v6 y ahora todo funciona bien.

k_a_ r_i_s-
fuente
0

Ninguna de las respuestas anteriores funcionó para mí. La solución a mi problema fue cambiar la forma en que se consumía la dependencia de la instantánea dentro del paquete.json. Use la siguiente plantilla para obtener la dependencia de la instantánea que necesita

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

Prueba esto

  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
fuente