IT-Q

本番で「ローカルでは出なかったエラー」が出ました。何から確認しますか。

まずローカルで本番ビルドを作って動かします。開発サーバーと本番ビルドは別物で、最適化も静的生成も効いていません。再現しなければ環境変数など環境の差を見ていきます。

面接官が見ているのは開発ビルドと本番ビルドの違いに気づけるか。

これは「Vercel 以外の環境にデプロイしたことはありますか。何が必要でしたか。」への追撃質問です。

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

  • ローカルで本番ビルドを作って再現を試み、駄目なら環境変数の差分を見る
    開発サーバーと本番ビルドは別物です。ここで再現することが多いです。
  • 本番でデバッグ表示を有効にして、画面に詳細を出す
    設定内容やスタックトレースが外部に見えます。本番では避けます。
  • サーバー側のログを見る
    サーバー側で落ちている場合、ブラウザのコンソールには何も出ません。
  • ブラウザのコンソールを見る
    クライアント側で起きたことしか出ません。サーバー側のエラーは、サーバーのログを見ないと分かりません。

面接官は何を見ているか

  • 本番ビルドをローカルで再現しようとした
  • 開発サーバーと本番で挙動が違うと理解している
  • 環境変数の差分を疑えた

模範解答

まずローカルで本番ビルドを作って動かします。開発サーバーと本番ビルドは別物で、開発時は毎回コンパイルされ、キャッシュや最適化も効いていません。本番でだけ出る問題は、たいていここで再現します。

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

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