Githubは、package-lock.jsonファイルの依存関係は脆弱であり、時代遅れだと言っています。問題は、npm install
またはnpm update
を実行すると、どちらもpackage-lock.jsonファイルの依存関係を更新しないことです。
私はこれについて多くのグーグルを行い、ファイルを削除してnpm install
を実行しました。
誰かがこれを解決するのを手伝うことができれば、私は非常に感謝します。問題のパッケージはHoekで、package.jsonファイルには実際にはありません。
事前に感謝します。
Hoekは、依存関係の1つの依存関係であるように聞こえます(したがって、package.jsonにあるパッケージは、それ自身のpackage.jsonからそれを必要とします)。
プロジェクトの依存関係の削除/再インストールと更新は成功せずに既に試みているため、問題のパッケージの依存関係には明示的なバージョンまたは最大バージョンが指定されているようです。
依存関係ごとにpackage.jsonが表示されない場合、更新を強制する方法についてさらにアドバイスすることは困難です。
Edit:どのパッケージがどの依存関係を使用しているかを識別するために、NPMのls
コマンドを使用できます。 https:// docs.npmjs.com/cli/ls
たとえば、どのパッケージがHoekを使用しているかを確認するには:npm ls hoek
編集2:Ulysse BNが正しく指摘しているように、NPMバージョン6以降を使用している場合は、npm audit fix
を使用してNPMに試行を依頼できます脆弱性を修正します。
Edit 3:これを読んでいる人は、以下のJBallinの答えもチェックしてください。これは私がここで与えた情報を拡張したものであり、(私の意見では)OPの質問によりよく対処する、より構造化された答えです。ただし、迅速な修正が必要な場合は、この答えで十分です。
TLDR:npm i $PARENT_PKG_NAME
を使用して親パッケージを更新します。
診断
npm audit
は脆弱なパッケージ(このためにpackage-lock.jsonファイルが必要なので、npm i
を実行する必要があることに注意してください)とそれが含まれているパッケージの両方を明らかにします。依存関係(該当する場合)。 npm ls $CHILD_PKG_NAME
を使用して親の依存関係を確認することもできます。
クイックフィックスの試み
npm audit fix
とnpm audit fix --force
は試してみる価値がありますが、手動で修正する必要がある場合があります(以下を参照)。
手動修正
ほとんどの場合、親パッケージは既に依存関係を修正しているため(GitHubにアクセスして最近のコミットを確認するか、修正されたかどうかを確認することでこれを確認できます)、npm i $PARENT_PKG_NAME
を実行するだけでpackage-lock.jsonを更新します。
修正の確認
npm audit
を実行し、脆弱性が現れていないことを確認することで、動作することを確認できます。変更をコミットしてGitHubにプッシュし、通知/アラートを更新すると、それらは消えるはずです!
Npm @ 6以降を使用している場合は、セキュリティの問題に npm audit fix
を使用できます。
つかいます:
npm i hoek
npmはhoekの最新バージョンをインストールし、package.lock.jsonが更新されます。
この問題が発生し、npmを実行しているサーバーの古いバージョンのnpmが原因であることがわかりました。package-lock.jsonは新しいバージョンでのみサポートされています。
これを試してみましたか:プロジェクトルートに移動し、package-lock.json
ファイル、node_modules
および.cache
フォルダーを削除してから、npm install
を削除します。