IT-Q

本番でだけエラーが出ました。まず何をしますか。

まずローカルで本番ビルドを作って動かします。next dev は開いたルートをその都度コンパイルし、静的生成も本番用の最適化も効いていないため、本番だけで出る問題はここで再現することが多いです。

面接官が見ているのは開発サーバーと本番ビルドが別物だと理解しているか。

よくある答えと、面談でどう見られるか

  • ローカルで本番ビルドを作って動かし、再現するか確かめる
    開発時は開いたルートをその都度コンパイルし、最適化も静的生成も効いていません。ここで再現することが多いです。
  • 本番でデバッグ表示を有効にして、画面に詳細を出す
    設定内容やスタックトレースが外部に見えます。本番では避けます。
  • ブラウザのコンソールを見る
    クライアント側で起きたことしか出ません。サーバー側で落ちていれば何も出ません。
  • 本番ビルドを再現しつつ、環境変数の差分も確認する
    とくに NEXT_PUBLIC_ 系はビルド時に埋め込まれるので、ビルドした環境の値で固定されています。

模範解答

まずローカルで本番ビルドを作って動かします。next dev と next build は別物で、開発時は開いたルートをその都度コンパイルし、静的生成も本番用の最適化も効いていません。本番でだけ出る問題は、たいていここで再現します。

再現しなければ環境の差を見ます。環境変数の設定漏れ、とくに NEXT_PUBLIC_ 系はビルド時に埋め込まれるので、ビルドした環境の値で固定されています。「本番サーバーには設定したのに反映されない」はこれが原因のことが多いです。

それでも分からなければサーバー側のログを見ます。ブラウザのコンソールに出るのはクライアント側で起きたことだけなので、サーバー側で落ちている場合は何も出ません。

対象: Next.js 16(App Router) 照合した一次資料: 公式ドキュメント 照合: 2026-10-25 最終更新: 2026-10-25
お使いの版で挙動が違う場合があります。誤りに気づいたらこの解説を報告するから教えてください。