Vite
Cloudflare PagesでViteプロジェクトのデプロイが「Failed: error occurred while running deploy command」というメッセージで失敗する場合、これはビルド自体は成功しているものの、その後のデプロイ(Cloudflare WorkersやCloudflare Pagesへのファイルのアップロード・公開)の段階でエラーが発生していることを示しています。
Wrangler(Cloudflare WorkersをデプロイするためのCLIツール)に関するメッセージが出ていることから、Workers機能との連携や、その設定に問題がある可能性が高いです。
いくつか考えられる原因と、その解決策を提示します。
1. Wranglerの設定ミス、または不適切な使用
- 原因: Cloudflare Pagesで通常のViteプロジェクト(静的サイト)をデプロイする場合、通常はWranglerを直接使用する必要はありません。このメッセージが出ているということは、ビルドコマンドやデプロイコマンドにWranglerを呼び出す設定が入っている可能性があります。
- 例:
package.jsonのscriptsにwrangler deployのようなコマンドが入っている。- Cloudflare Pagesの「Build command」に直接
wrangler deployを設定している。
- 解決策:
- Cloudflare Pagesの「Build command」を確認:
Viteの静的サイトデプロイの場合、ビルドコマンドは通常
npm run buildまたはyarn buildであるべきです。ここにwrangler関連のコマンドが入っていないか確認してください。 package.jsonのscriptsを確認: もしnpm run buildが内部でwranglerコマンドを呼び出すように設定されている場合、それを修正する必要があります。通常のViteプロジェクトであれば、buildスクリプトはvite buildとなっているはずです。- Wranglerの設定ファイル (
wrangler.toml) の確認: プロジェクトのルートにwrangler.tomlファイルが存在するか確認してください。もし静的サイトのみをデプロイしているのであれば、このファイルは不要な場合があります。存在する場合は、その設定がCloudflare Pagesでのデプロイに適しているか見直す必要があります。特にtype = "javascript"のようなWorkersのタイプが指定されていると、Pagesのデプロイとは異なる振る舞いをしようとします。
- Cloudflare Pagesの「Build command」を確認:
Viteの静的サイトデプロイの場合、ビルドコマンドは通常
2. Cloudflare Workersのデプロイ権限や設定の問題
- 原因: もしViteプロジェクトがCloudflare Workers(Functions)を利用している場合、WranglerはそのWorkersをデプロイしようとします。その際に、必要な権限がなかったり、Workersのルーティングや名前が競合していたり、Workersのコード自体にエラーがある場合に失敗します。
- 解決策:
- APIトークンの確認: Cloudflare Pagesのプロジェクト設定で、WorkersをデプロイするためのCloudflare APIトークンが正しく設定され、必要な権限(Workersへの編集権限など)が付与されているか確認します。
- Workersの名前の競合: デプロイしようとしているWorkersの名前が、Cloudflareアカウント内で既に存在している他のWorkersと競合していないか確認します。
- Workersのコードのエラー: もしViteでCloudflare FunctionsなどのWorkersコードをバンドルしてデプロイしようとしている場合、そのWorkersコード自体に構文エラーやランタイムエラーがないか確認します。
3. デプロイのタイムアウト、または容量制限
- 原因: デプロイされるファイルのサイズが非常に大きい場合や、デプロイプロセスが長時間かかりすぎると、タイムアウトで失敗することがあります。
- 解決策:
- 不要なファイルの削除: ビルドプロセスで不要なファイルが出力されていないか確認し、
distディレクトリが最小限のサイズになるように最適化します。 vite.config.jsの確認: ビルド設定で、バンドルサイズを小さくするための設定(コード分割、アセットの最適化など)が適切に行われているか確認します。
- 不要なファイルの削除: ビルドプロセスで不要なファイルが出力されていないか確認し、
4. Cloudflare Pagesの内部的な問題(稀)
- 原因: Cloudflare側のシステムで一時的な問題が発生している可能性もゼロではありません。
- 解決策:
- しばらく待ってから、もう一度デプロイを試みる。
- Cloudflareのステータスページを確認し、障害情報がないか確認する。
- Cloudflareサポートに問い合わせる。
優先的に確認すべきこと
まずは、Cloudflare Pagesのデプロイ設定で、**「Build command」とpackage.jsonのscripts**の内容を確認し、Wranglerを直接呼び出すような記述がないかチェックしてください。
バイブコーディングにおける「リブレット」