Vite manifest not foundを解決する方法【Laravel】
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
Laravel でプロジェクトをデプロイした際に発生した、'Vite manifest not found'を解決する方法についてまとめました
エラー全文
Vite manifest not found at: /var/www/html/laravel-docker/src/public/build/manifest.json
解決方法
Vite によるビルドをすることで解決します。
開発環境
npm run dev
本番環境
npm run build
解説
このコマンドを打つことで、開発環境ではmanifest.json
を参照しなくなり、本番環境ではmanifest.json
が生成されるためこのエラーが解決します。
プロジェクトのコードを見ると、例えばresources/views/app.blade.php
などに、
@vite(['resources/js/app.js', "resources/js/Pages/{$page['component']}.vue"])
このような記述がある と思います。
この部分が、npm run dev
かnpm run build
によって出力結果が変わります。
以上が本件の解決方法です。
以下は必要な人だけ読み進めていただければと思います。
Node.js が無い場合
Node.js のバージョン確認
node -v
npm のバージョン確認
npm -v
Node をインストールする方法
Docker で環境構築している時
Laravel プロジェクトのコンテナの Dockerfile などで Node を入れて、再ビルドします。
FROM php:8.3-fpm
~~中略~~
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
RUN apt-get install -y nodejs
docker compose down
docker compose up -d --build
→ Docker で Laravel 11 の開発環境を構築する方法【動画あり】
本番環境
一例ですが、Amazon Linux 2023 だと NVM を使ってインストールすると楽です。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
→ Laravel プロジェクトを AWS EC2 にデプロイする方法【Amazon Linux 2023 版】
おわりに
簡単に、Node.js のインストール方法の例まで書いてみました。
各々環境が違うのでベストな方法違うと思いますが、参考になれば幸いでございます。