Vue3でnpm audit fix –force使用後に起こったエラーの解決法

Laravel・PHP豆知識・トラブル対策

Vue3.jsを使っていてエラーになったため、修復方法をメモしておきます。

セキュリティの脆弱性を修正しようとして、 npm audit fix --force を実施したところ、エラーが次々と発生しました。

このコマンドは、脆弱性を解消するために、メジャーバージョンアップを伴う修正を行ってくれます。ただそのために、脆弱性は解消されても、別のエラーが起こる可能性があります。

今回はまんまと、その状況に陥ってしまいました…

この記事では、一連のエラーの発生と修正方法を記録しておきます。

ライブラリインストール時にvulnerabilities(脆弱性)の発見

Vue3のプロジェクトにあるライブラリをインストールした後に、vulnerabilities(脆弱性)がありとでました。

今回はサンプルプロジェクトだったので、指示通り、 npm audit fix --force を行い、力ずくで修正を試みました。

npm audit fix後にエラーがでる

npm audit fix --force コマンド実施後、下記エラーがでました。

ERROR in ./node_modules/webpack-dev-server/client/socket.js 14:20-49

このエラーは、Webpackの開発サーバーに問題があることを示しています。具体的には、依存関係の不整合が考えられます。

node_modulesの再インストール

エラーを修復するため、全ての依存関係を削除することにしました。一度サーバーをとめて、プロジェクト内で、下記コマンドを実行してnode_modulesを削除しました。

【UNIX/Linuxの場合】

【Windows PowerShellの場合】

続いて下記コマンドを実行して、依存関係を再インストールしました。

新たなエラーとその原因

サーバーを立ち上げなおそうとすると、次は、下記のエラーがでました。

ERROR Error loading vue.config.js:
ERROR TypeError: defineConfig is not a function

このエラーは、@vue/cli-service のバージョンが古く、defineConfig 関数が存在しないために発生します。package.jsonを確認すると、@vue/cli-serviceのバージョンが^3と、低くなっていました。

そこで、@vue/cli-service を “~5.0.4” に更新しました。その後、npm run serve を再実行した際に問題が解消されました。

さいごに

今回の問題の原因は、 npm audit fix --force  を使用した際に、@vue/cli-serviceのバージョンが変わり、他のライブラリと互換性がなくなってしまったために起こりました。

何かあった時のために、 npm audit fix --force  実施前には、package.jsonのバックアップを取っておいたほうが良いですね。

バックアップは、予期せぬ問題が発生した場合に元の状態に戻すための安全策となります。

とりあえず備忘録として残しますが、同じような状況になってしまった方のお役にたてばうれしいです。

Laravel・PHP豆知識・トラブル対策

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

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

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

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

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

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

 

Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
デプロイ講座付。StripeやChatGPT連携など過去10回分のセミナー動画視聴可能。

Laravel実践スキルをのばしたい方におすすめです。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました