これが出ても、先に進めないわけではないので、エラーを無視できるといえばできるのですが、「high severity vulnerabilities」って、重大度の高い脆弱性なわけです。
コードを書く人なら無視できませんよね。
てなことで、必死に戦った対処法を備忘録します。
とにかく内容を調べろ
何が重大度の高い脆弱性なのか、とにかく調べます。
おそらく、npmのログにも書かれていると思うのですが、とにかく詳細を見ます。
npm audit
すると脆弱性の状態が詳細に記述されます。
Severity:highでPrototype Pollution in asyncと書かれています。
その下には、Prototype Pollution in asyncに依存している関係のモジュールが書かれています。
とりあえず、自動修復を試みます。うまくいけばこれで修復されます。npm audit fix
ん~なんかしたかな~ってくらい、何もできてません。
あかんやつです。
asyncが悪いんでしょ?リンク書いてあるよね?そこ見よう。ってことで、とりあえず書かれてるリンクを参照する。
処理中って処理してないんかい!ダメじゃん。
ん~でもよく見ると、バージョンが、3.2.2以下って書いてある。
今の最新は?
https://caolan.github.io/async/
上記のサイトで確認するとV3.2.3らしい。じゃアップデートすりゃいいやん。
問題のモジュールをアップデートする
とりあえず、問題のあるモジュールは特定されたので、アップデートします。
npm i async
これで最新にアップデートされた。3.2.2以上もクリアしてる!
じゃいけるかな?npm install
だめじゃん。。。なんで同じエラー。
あ、と気づく。
package-lock.jsonにインストールするモジュール書かれているよね?と。
asyncで調べる。
うーん、おんなじ。ちゃんと3.2.3になってる。
なんでや。
ってここから、いろいろやり始める。node.jsのアップデート、npmのインストール・アップデート。
node_modulesフォルダの削除。
何も変わらず。
ログを見ろ!依存関係を忘れるな
もう一回、package-lock.jsonをなめるように見る。さっきログに書かれてた、依存関係も見る。
あっ
あ
あ、、、見っけ。
てか、依存関係のとこに、もう1こ、さっきのasync、いるっ。
しかもバージョン、3.2.2より低いやつ。
ここか~悪さしてたの。
この数字を3.2.3に直します。npm install
キターーーーーーー!
無事に完了です。お疲れ様でした。