Laravelのnpm run devで「Module build failed: Error: You may be using an old version of webpack; please check you're using at least version 4」と出る。

Laravelに組み込まれているlaravel-mixでAngularをビルドしようとした時に、以下のエラーが出ました。

原因はlaravel-mixで使われているwebpackのバージョンが3と古くなっている事で、webpackと依存関係のある ts-loader の最新版がwebpack3をサポートしていないため。

ts-loaderのリポジトリに以下の記載があります。

webpack: 4.x+ (please use ts-loader 3.x if you need webpack 2 or 3 support)

https://github.com/TypeStrong/ts-loader#compatibility

対策としては、ts-loaderのバージョンを古い物を指定して使う事。

Laravelアプリのプロジェクトディレクトリの package.json で以下の指定を追加。

そして npm update を実行。

再度 npm run dev したら今度はうまくいきました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*