LaravelでVite manifest not found at:のエラー
1. 背景
ひょんなことから、Laravelで環境構築をしています。
慣れてないので、コマンドを1つ投入するたびにつまづいています。
記録に残して、自分の血と肉にしようと思います。
## エラー
アプリケーションを起動して、画面を表示させようとすると以下のメッセージが表示されます。
Illuminate\Foundation\ViteManifestNotFoundException Vite manifest not found at: /var/www/html/public/build/manifest.json
Laravel が Vite でビルドしたアセットの「マニフェストファイル」を見つけられなかったことを示しています。
Reactの文脈でのViteだと思うのですが、LaravelでもViteが使われることが多いようです。Viteは開発時にすぐブラウザに反映させる便利なものです。
2. エラーの意味
2.1. Vite manifest
Vite はビルド時に、生成されたファイル名(ハッシュ付き)とエントリーポイントの対応をmanifest.jsonとして出力します。
2.2. Laravel 側の期待場所
デフォルト設定ではpublic/build/manifest.jsonを探しにいきます。
2.3. 例外発生
そのファイルが無いため、Illuminate\Foundation\ViteManifestNotFoundExceptionが投げられ、アセット読み込みが止まります。
## 原因と対応
ビルドを実行していないのが原因です。
というわけで、対応は以下のコマンドを投入するだけです。
npm run build