npm npm-install package-lock.json

npm - ¿Por qué package-lock.json cambió el hash de integridad de sha1 a sha512?



npm-install (4)

Acabo de generar un nuevo npm lockfile, package-lock.json, como parte de mi flujo de trabajo típico. Pero noté que esta vez todos los hashes de integridad han cambiado de sha1 a sha512. ¿Que está sucediendo aquí?


Basándome en comentarios y sugerencias anteriores, para mí necesitaba borrar la carpeta node_modules existente, el caché, y luego tomar el archivo sha512 package-lock.json de git (que se confirmó desde otra computadora), y finalmente hacer un npm i . Algo como esto:

npm i -g npm rm -rf node_modules/ npm cache clear --force git reset --hard npm i

Después de este paquete-lock.json usó sha512 y otros cambios estabilizados.


Consulte también github.com/npm/npm/issues/17749 que, aunque afirma que el problema está "solucionado", no lo está. Eliminar node_modules es una solución alternativa.

Puede haber una relación con los sistemas operativos. Estamos llegando a esto ahora con desarrolladores en plataformas Linux y Windows.


Por lo que puedo ver, npm cambió la suma de comprobación de integridad de sha1 a sha512.

Si sus cambios de git van de sha1 a sha512, debe hacer esa actualización una vez y será bueno después de eso.

Si alguien más que trabaja con la base de código y ve un cambio de git de sha512 a sha1 (que es el problema que tenía), puede solucionarlo ejecutando lo siguiente:

Descarte los cambios en git para package-lock.json

npm i -g npm rm -rf node_modules/ npm i

Esto actualizará npm y reinstalará todos sus paquetes para que la nueva suma de verificación (sha512) esté presente.


Sobre la base de lo que respondió Dave. La solución que encontré fue hacer lo siguiente:

npm i -g npm cd {working directory} rm -rf node_modules/ rm package-lock.json npm cache clear --force npm i

Hicimos esto para todos nuestros desarrolladores al mismo tiempo y esto detuvo el problema sha-512 vs sha-1 que estaba causando frustrantes conflictos de fusión.