Laravel npm install “1 vulnerability requires semver-major dependency updates.”

LaravelとVue連携

Laravel Mixをインストールするときに、

”found 1 high severity vulnerability”

に続いて、

”1 vulnerability requires semver-major dependency updates.”

というメッセージが出た時の対策です。

npm audit fix を行っても修復されず、vulnerabilityが残った場合にお試しください。

”1 vulnerability requires semver-major dependency updates.” の意味

このメッセージを直訳すると、

「1 の脆弱性は、重大な依存関係の更新を必要とします。」

といった感じになります。

分かりやすく言うと、

「ライブラリをインストールするに伴って、関連するライブラリのバージョンを更新してね」といった意味。

修正するには、ライブラリの更新が必要になります。

”1 vulnerability requires semver-major dependency updates.” の対策

対策方法は次のとおりです。

① 修正するライブラリを確認する

アップデートすべきものは、下記のような形で、メッセージ中に表示されているかと思います。

Dependency of の後に書かれたライブラリが修正すべきライブラリとなります。

上記では “resolve-url-lader” が該当します。

② npm outdatedで最新版を確認

npm outdated というコマンドを実行すると、npmバージョンの最新版と現在のバージョンの一覧が確認できます。

ここから、”resolve-url-lader” の最新バージョンが 3.1.2 だと分かります。

③ package.jsonを更新

package.json を開き、該当のライブラリのバージョンを書き換えます。

バグフィックスがあったときに対応できるように、キャレットを使って、バージョンを書きましょう。

キャレットを使ってバージョンを書くと、最新版があった場合、最新版を取得してくれます。

【修正前】

【修正後】

このとき、package-lock.jsonを編集しないように注意してくださいね。

「package.jsonと、package-lock.jsonって何が違うの?」

と思った方は、この下をお読みください。

わたしも最初、「なぜ2つファイルが必要なんだろう?」と思いましたが、この理由を知って、納得しました。

結構重要なポイントです!

豆知識:ひとことメモ

package.jsonは、使いたいライブラリのバージョンをまとめたファイルです。

このpackage.jsonファイルの情報を元に、システム側では必要なライブラリを入れていきます。

そして実際にインストールされたライブラリのリストがpackage-lock.jsonとなります。

package-lock.jsonには、インストールされたインストールのバージョンが記されています。

本番環境では、package-lock.jsonファイルの情報を使って、環境を整えます。

④ npm install と npm run dev 再実行

ライブラリのバージョンを修正したら、再度 npm installを実行します。

found 0 vulnerabilities

となったら、npm run dev を実行して、インストールを完了します。

LaravelとVue連携 Laravel・PHP豆知識・トラブル対策

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

社内にWebアプリ開発経験がなくて、困ってませんか?

「自社でWebアプリ開発を始めていきたい」
という企業様のために、Laravelセミナー・プログラミング教育を実施しています。

【セミナー使用スライド】

詳細はこちらご覧ください

Twitter始めました。
40代からプログラミング!

コメント

タイトルとURLをコピーしました