Je viens de générer un nouveau fichier de verrouillage npm, package-lock.json, dans le cadre de mon flux de travail typique. Mais j'ai remarqué que cette fois, tous les hachages d'intégrité ont été changés de sha1 à sha512. Que se passe-t-il ici?
Réponses
Trop de publicités?De ce que je peux voir, mnp changé l'intégrité de la somme de contrôle de sha1 pour sha512.
Si votre git changements de sha1 pour sha512, vous devez faire la mise à jour une fois et ce sera bien après.
Si quelqu'un d'autre travailler avec la base de code et voit un git changement de sha512 vers le bas pour sha1 (qui est la question j'ai eu) vous pouvez résoudre le problème en exécutant la commande suivante:
Annuler les modifications apportées à git pour les colis-lock.json
npm i -g npm
rm -rf node_modules/
npm i
Ceci mettra à jour mnp et de réinstaller tous vos paquets de sorte que la nouvelle somme de contrôle (sha512) est présent.
S'appuyant sur ce que Dave a répondu. Le correctif que j'ai trouvé était de faire ce qui suit:
npm i -g npm
cd {working directory}
rm -rf node_modules/
rm package-lock.json
npm cache clear --force
npm i
Nous avons fait cela pour tous nos développeurs en même temps et cela a arrêté le problème sha-512 vs sha-1 qui provoquait des conflits de fusion frustrants.
Voir aussi https://github.com/npm/npm/issues/17749 qui, bien que le problème soit revendiqué, est «corrigé» mais ne l’est pas. Supprimer node_modules
est une solution de contournement.
Il peut y avoir une relation avec les systèmes d'exploitation. Nous sommes en train de faire la même chose avec les développeurs sur les plateformes Linux et Windows.
En me basant sur les commentaires et les suggestions précédents, j’ai eu besoin d’effacer le dossier node_modules existant, le cache, puis de récupérer le fichier sha512 package-lock.json sur git (validé à partir d’un autre ordinateur), puis de créer un npm i . Quelque chose comme ça:
npm i -g
npm rm -rf node_modules/
npm cache clear --force
git reset --hard
npm i
Après ce package-lock.json utilisé sha512 et d’autres modifications stabilisées.