Github me dit qu'une dépendance dans mon fichier package-lock.json est vulnérable et obsolète. Le problème est que si je fais npm install
ou npm update
, aucun d'eux ne met à jour la dépendance dans le fichier package-lock.json.
J'ai fait beaucoup de recherches sur cela, j'ai également supprimé le fichier et terminé npm install
.
Si quelqu'un pouvait aider à résoudre ce problème, je l'apprécierais énormément. Le paquet en question est Hoek, que je n'ai pas dans mon fichier package.json.
Merci d'avance.
On dirait que Hoek est une dépendance de l’une de vos dépendances (un paquet que vous avez dans votre package.json le demande à partir de son propre package.json).
Vous avez déjà essayé de supprimer/réinstaller et mettre à jour les dépendances de votre projet sans succès. Il semble donc que la dépendance du paquet en question possède une version explicite ou maximale spécifiée.
Sans consulter le package.json pour chacune de vos dépendances, il serait difficile de vous indiquer comment forcer une mise à jour.
Edit: Pour vous aider à identifier les packages qui utilisent quelles dépendances, vous pouvez utiliser la commande ls
de NPM: https://docs.npmjs.com/cli/ls
Par exemple, pour voir quels paquets utilisent Hoek: npm ls hoek
Edit 2: Comme Ulysse BN le souligne correctement, si vous disposez de NPM version 6 ou ultérieure, vous pouvez utiliser npm audit fix
pour demander à NPM de tenter de résoudre le problème pour vous.
Utilisation:
npm i hoek
npm installera la dernière version de hoek et votre package.lock.json sera mis à jour.
J'ai eu ce problème et j'ai constaté que c'était parce que le serveur sur lequel j'exécutais npm disposait d'une ancienne version de npm sur it-package-lock.json n'est prise en charge que par les versions les plus récentes.
avez-vous essayé ceci: allez à la racine de votre projet, supprimez le fichier package-lock.json
, les dossiers node_modules
et .cache
, puis npm install
.
TLDR: Mettez à jour le package parent à l'aide de npm i $PARENT_PKG_NAME
.
Diagnostic
npm audit
révélera le paquet vulnérable (notez que vous aurez besoin d'un fichier package-lock.json pour cela, vous devrez donc exécuter npm i
), ainsi que le paquet dont il dépend (le cas échéant). (Notez que vous pouvez également utiliser npm ls $CHILD_PKG_NAME
pour voir ses dépendances parent.
Tentative de réparation rapide
npm audit fix
et npm audit fix --force
permettent d’essayer, mais il faut parfois régler le problème manuellement (voir ci-dessous).
Correction manuelle
Le paquet parent aura probablement déjà corrigé ses dépendances (vous pouvez le vérifier en consultant GitHub et en examinant les récents commits - ou tout simplement en vérifiant si cela résout le problème), afin que vous puissiez simplement exécuter npm i $PARENT_PKG_NAME
et mettre à jour votre paquet. lock.json.
Vérifier le correctif
Vous pouvez maintenant vérifier que cela a fonctionné en exécutant npm audit
et en vous assurant qu'aucune vulnérabilité ne se présente. Commettez vos modifications, envoyez-les à GitHub, actualisez vos notifications/alertes et elles devraient être parties!
Si vous avez npm @ 6 ou version ultérieure, vous pouvez utiliser npm audit fix
pour vos problèmes de sécurité.