it-swarm.com.de

Wie kann ich ein verwundbares npm-Paket in package-lock.json reparieren, das nicht in package.json aufgeführt ist

Github sagt mir, dass eine Abhängigkeit in meiner package-lock.json-Datei anfällig und veraltet ist. Das Problem ist, dass, wenn ich npm install oder npm update verwende, keiner von ihnen die Abhängigkeit in der package-lock.json-Datei aktualisiert. 

Ich habe viel darüber gegoogelt, die Datei gelöscht und npm install gemacht.

Wenn jemand helfen kann, das zu lösen, würde ich das sehr schätzen. Das fragliche Paket ist Hoek, das ich eigentlich nicht in meiner package.json-Datei habe. 

Vielen Dank im Voraus.

25
Raph117

Es hört sich so an, als ob Hoek eine Abhängigkeit von einer Ihrer Abhängigkeiten ist (ein Paket, das Sie in Ihrem package.json haben, erfordert es von seinem eigenen package.json).

Sie haben bereits erfolgreich versucht, Ihre Projektabhängigkeiten zu löschen, erneut zu installieren und zu aktualisieren, daher scheint es sich bei der fraglichen Paketabhängigkeit um eine explizite oder maximale Version zu handeln.

Ohne die package.json für jede Ihrer Abhängigkeiten zu sehen, wäre es schwierig, weitere Informationen zum Erzwingen eines Updates zu geben.

Edit: Um zu ermitteln, welche Pakete welche Abhängigkeiten verwenden, können Sie den Befehl ls von NPM verwenden: https://docs.npmjs.com/cli/ls

So können Sie beispielsweise sehen, welche Pakete Hoek verwenden: npm ls hoek

Edit 2: Wie Ulysse BN zu Recht darauf hinweist, können Sie bei NPM Version 6 oder höher mit npm audit fix NPM bitten, die Sicherheitsanfälligkeiten für Sie zu beheben.

10
Alex Mulchinock

Benutzen:

npm ich hoek

npm installiert die neueste Version von hoek und Ihr package.lock.json wird aktualisiert.

2
scorpion

Ich hatte dieses Problem und stellte fest, dass der Server, auf dem npm ausgeführt wurde, eine alte npm-Version auf it- package-lock.json hatte, die nur von neueren Versionen unterstützt wird. 

0
jvvw

haben Sie Folgendes versucht: Gehen Sie zu Ihrem Projektstamm, löschen Sie die Ordner package-lock.json, node_modules und .cache und anschließend npm install

0
CakeL

TLDR: Aktualisieren Sie das übergeordnete Paket mit npm i $PARENT_PKG_NAME.


Diagnose

npm audit zeigt sowohl das verwundbare Paket (beachten Sie, dass Sie hierfür eine package-lock.json-Datei benötigen, daher müssen Sie npm i ausführen) sowie das Paket, von dem es abhängig ist (falls zutreffend). (Beachten Sie, dass Sie auch npm ls $CHILD_PKG_NAME verwenden können, um die übergeordneten Abhängigkeiten anzuzeigen.

Schneller Fixversuch

npm audit fix und npm audit fix --force versuchen es, aber manchmal müssen die Korrekturen manuell durchgeführt werden (siehe unten).

Manuelle Korrektur

Höchstwahrscheinlich hat das übergeordnete Paket bereits seine Abhängigkeiten behoben (Sie können dies überprüfen, indem Sie zu GitHub gehen und die letzten Commits überprüfen - oder nur sehen, ob dies behoben wurde). Sie können also einfach npm i $PARENT_PKG_NAME ausführen und Ihr Paket wird aktualisiert. lock.json.

Fix überprüfen

Sie können jetzt überprüfen, ob dies funktioniert hat, indem Sie npm audit ausführen und sicherstellen, dass keine Sicherheitsanfälligkeiten angezeigt werden. Übernehmen Sie Ihre Änderungen, senden Sie sie in GitHub, aktualisieren Sie Ihre Benachrichtigungen/Alarme und sie sollten verschwunden sein!

0
JBallin

Wenn Sie npm @ 6 oder höher haben, können Sie npm audit fix für Ihre Sicherheitsprobleme verwenden.

0
Ulysse BN