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.
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.
Benutzen:
npm ich hoek
npm installiert die neueste Version von hoek und Ihr package.lock.json wird aktualisiert.
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.
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
.
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!
Wenn Sie npm @ 6 oder höher haben, können Sie npm audit fix
für Ihre Sicherheitsprobleme verwenden.