◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Expo SDK 58 が 10/15 に正式リリースされました(Beta は 09/15 から)。上げる前に依存の対応状況を確認しましょう●SDK 58 ISSUE — Android ウィジェットが定期更新されない、Stripe が静的リンクになるなど初期報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Expo SDK 58 が 10/15 に正式リリースされました(Beta は 09/15 から)。上げる前に依存の対応状況を確認しましょう●SDK 58 ISSUE — Android ウィジェットが定期更新されない、Stripe が静的リンクになるなど初期報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/開発ツール
⬡ 開発ツール/2026-10-20上級

デプロイ直後に出る Application error は、なぜ再デプロイでは直らないのか

シークレットを差し替えた直後から、どのページを開いても Application error。原因は、古い HTML が、もう置かれていない JS を呼んでいたことでした。検知スクリプト、エッジキャッシュの版照合、1回だけの自動再読み込みを、動かして確かめた形で残します。

Cloudflare Workers26Next.js4デプロイキャッシュ5ChunkLoadError

✦ プレミアム記事

環境変数を一つ差し替えて、デプロイが終わるのを待っていた日のことです。確認のためにサイトを開くと、白い画面に「Application error: a client-side exception has occurred」とだけ出ていました。

記事のページでも、トップでも同じです。サーバーのログは静かで、ビルドも成功していました。そこで私は、もう一度デプロイしました。それでも直りませんでした。

再デプロイは、サーバーを新しくするだけで、すでに配られた古い HTML までは新しくしません。 この記事は、その当たり前に気づくまでの遠回りと、そこから引いた線を書き残したものです。個人開発で Next.js のサイトを Cloudflare Workers に載せている方が、同じ晩を短く済ませられるように、手順とコードを動かして確かめた形で並べます。

コンソールに並んでいた二行

ブラウザの開発者ツールを開くと、赤い行が二つありました。一つは __name is not defined、もう一つは ChunkLoadError です。

前者は、見た目には私のコードの不具合のように見えます。ところがネットワークタブを見ると、JS のファイルが一本、404 を返していました。404 の本文は HTML です。それを JS として読み込もうとして、後続の処理が連鎖して止まっていたのです。

どのページを開いても落ちたのは、そのチャンクが共通の部品に入っていたためだと考えています。欠けたのは一本でも、止まるのは画面全体です。 最初に見るべきはコードではなく、404 になっているファイルの名前でした。

何が起きていたか:古い HTML と新しいチャンクのずれ

ビルドのたびに、JS のファイル名にはハッシュが付きます。新しいビルドでは、古いハッシュのファイルは置かれません。ところが、古い HTML を手元やエッジに持っている人には、古いファイル名がそのまま書かれています。

持っているもの呼ぶファイル新しいビルドの配信先に
デプロイ前に作られた HTML古いハッシュのチャンクありません。404 になります
デプロイ後に作られた HTML新しいハッシュのチャンクあります。正常に読めます

つまり、問題は新しいビルドの中にはありません。古い HTML が、新しいビルドの前に、まだ配られていることが原因です。環境変数やシークレットを変えると、Worker は再デプロイされ、新しいビルド ID になります。その直後は、どうしてもこのずれが起きやすくなります。

ブラウザの手元に古い HTML があるだけなら、ハードリロードで直ります。実際、それで直った日もありました。ところが、直らない日がありました。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦デプロイ直後の Application error が出たとき、再デプロイを繰り返す前に、どの層から順に疑うかを手順で決められるようになります
✦デプロイが終わった直後に、HTML が呼ぶ JS が一本残らず実在するかを、スクリプト一本で確かめられるようになります
✦古いエッジキャッシュの HTML が新しいビルドより先に配られる事故を、自分の Worker に足す数十行で防げるようになります
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 開発ツール2026-05-09
Rork の A/B テスト基盤を GrowthBook と PostHog でゼロから組む
Firebase に頼らず、GrowthBook と PostHog をオープンソースで組み合わせて Rork アプリの A/B テスト基盤を構築する手順を、SDK 統合からベイズ統計の解釈、運用上の落とし穴までまとめました。
⬡ 開発ツール2026-05-03
Rork アプリの Sign in with Apple を、サーバー検証とアカウント削除まで本気で実装するガイド
Sign in with Apple をクライアントだけで済ませたアプリは、審査より先にサーバー側で綻びます。サーバーが発行する nonce、ID トークンの検証、authorizationCode の即時交換、revoke を伴うアカウント削除、Apple からのサーバー間通知の受け取りまで、Cloudflare Workers の動くコードで順に組みます。
⬡ 開発ツール2026-04-30
Rork × AIモデレーション実装:UGCアプリで通報・自動審査・段階的制裁を本番投入する
Rork で作ったUGCアプリに、AIモデレーション・通報・段階的制裁を本番品質で組み込む実践ガイド。OpenAI Moderation・Perspective API・Cloudflare Workers Queueで設計する3層パイプラインを、コード付きで解説します。