開発環境でアプリが動かないとき、初心者のうちはすぐにコードを疑ってしまいがちです。
もちろんコードが原因のこともあります。しかし実務では、コードではなく設定、DB接続、環境変数、権限、キャッシュ、起動順序が原因になっていることも多いです。
私自身、現場で開発環境や検証環境のトラブル対応をしてきた中で、最初の切り分けを間違えると調査時間が一気に伸びると感じています。特に「昨日まで動いていたのに今日は動かない」というケースでは、慌ててコードを直すよりも、環境差分を見る方が早いことがあります。
この記事では、開発環境でアプリが動かないときに、現役SEとして私が実務で確認している順番を整理します。
この記事でわかること
- 開発環境で動かないときに最初に見るべきポイント
- 初心者がやりがちな調査ミス
- ログ、設定、DB、権限、環境差分の確認順序
- AIに相談する前に整理しておきたい情報
いきなりコードを直さない
開発環境でエラーが出ると、すぐにソースコードを開いて直したくなります。しかし、実務ではいきなり修正に入る前に、まず「どこまで動いているか」を確認します。
たとえば、画面が表示されない場合でも、原因はいくつか考えられます。
- アプリケーションが起動していない
- DBに接続できていない
- 環境変数が読み込まれていない
- URLやポートが間違っている
- 認証や権限で止まっている
- 外部APIの接続で失敗している
これらを確認せずにコードを直すと、本当は設定の問題なのに不要な修正を入れてしまうことがあります。
バグ調査で原因候補を整理する考え方は「AIでバグ調査をするときの落とし穴」でも解説しています。
失敗例1:エラー画面だけを見て判断する
初心者がやりがちな失敗は、ブラウザに表示されたエラー画面だけを見て原因を決めてしまうことです。
たとえば、画面に「Internal Server Error」と出ていても、それだけでは原因は分かりません。サーバー側のログを見ると、DB接続エラー、設定ファイルの読み込み失敗、権限不足、依存ライブラリの不足など、まったく違う原因が出ていることがあります。
私が最初に確認するのは、画面表示ではなくログです。
- アプリケーションログ
- Webサーバーログ
- DBログ
- コンテナログ
- 外部APIのレスポンスログ
画面に出ているエラーは結果であって、原因ではないことが多いです。ログの前後を見て、どの処理で止まっているかを確認する必要があります。
失敗例2:自分の環境だけの問題か確認しない
開発環境のトラブルでは、自分のPCだけで起きているのか、チーム全体で起きているのかを確認することが重要です。
自分だけで起きているなら、ローカル設定、キャッシュ、依存ライブラリ、環境変数、DBのローカルデータが原因かもしれません。全員で起きているなら、共通の設定変更、外部サービス、リポジトリの変更、DBマイグレーション漏れなどを疑います。
実務では、ここを確認せずに一人で長時間悩むと時間を失います。
私は次のように確認します。
- 同じブランチで他の人も再現するか
- 検証環境でも再現するか
- 直近で環境構築手順が変わっていないか
- DBマイグレーションを実行済みか
- 依存ライブラリのバージョンが合っているか
自分だけの問題か、共通の問題かを分けるだけで、調査範囲はかなり絞れます。
失敗例3:直近の変更を見ない
「急に動かなくなった」ときは、直近の変更を見るのが基本です。
実務でよくあるのは、ソースコードだけでなく、設定ファイルやDB定義、マスタデータ、権限設定の変更が原因になっているケースです。
| 確認対象 | 見るポイント | よくある原因 |
|---|---|---|
| ソースコード | 直近コミットやマージ内容 | 条件分岐や例外処理の変更 |
| 設定ファイル | 接続先、ポート、環境変数 | 設定値の不足や参照先ミス |
| DB | テーブル定義、マイグレーション、データ | カラム不足や初期データ不足 |
| 権限 | ファイル権限、DB権限、ユーザー権限 | 読み込み・更新権限不足 |
| 外部連携 | APIキー、URL、接続制限 | 認証エラーや接続先変更 |
このように、変更された可能性があるものを順番に確認すると、原因に近づきやすくなります。
現役SEが確認する順番
私が開発環境のトラブルを見るときは、次の順番で確認します。
- エラーが再現するか確認する
- どの環境で起きるか確認する
- ログのエラー行と前後を見る
- 直近の変更差分を見る
- 設定ファイルと環境変数を見る
- DB接続とマイグレーション状況を見る
- 権限や認証まわりを見る
- 小さく仮説を立てて検証する
この順番を守る理由は、原因を広く見すぎないためです。いきなりコード全体を読むと、関係ない箇所まで気になってしまいます。
最初に事象を絞り、ログと差分で仮説を立てると、調査が進めやすくなります。
AIに相談する前に整理しておく情報
最近は、エラー調査をAIに相談することも増えています。AIを使うこと自体は有効ですが、情報が不足していると一般的な回答しか返ってきません。
AIに聞く前に、次の情報を整理しておくと回答の精度が上がります。
- どの画面・処理で起きたか
- どの環境で起きたか
- 自分だけか、他の人も再現するか
- エラーログの前後
- 直近で変更したコードや設定
- DBマイグレーションや初期データの状態
- 試した対応と結果
AIに質問する前の前提整理については「AIに質問する前に整理すべき要件」でも考え方をまとめています。
調査メモを残すと同じ問題を防ぎやすい
開発環境のトラブルは、一度直して終わりにすると、別の人が同じ問題でつまずくことがあります。
実務では、原因と対応だけでなく、確認したことも残しておくと役に立ちます。
- 発生したエラー
- 原因
- 確認したログ
- 試したが効果がなかった対応
- 最終的に直した方法
- 再発防止のために更新した手順
特に、環境構築手順やREADMEに反映できる内容は残しておくべきです。個人のメモで終わらせるより、チーム全体の時間削減につながります。
ドキュメント作成の効率化については「AIでドキュメント作成を効率化する方法」も参考になります。
まとめ:開発環境のトラブルは、コード以外も疑う
開発環境でアプリが動かないとき、原因はコードだけとは限りません。設定、DB、権限、環境変数、外部API、キャッシュ、起動順序など、実務ではさまざまな要因があります。
大切なのは、いきなり直そうとするのではなく、どこまで動いていて、どこで止まっているのかを確認することです。
ログを見る、再現条件を分ける、直近の変更を見る、自分だけの問題か確認する。この基本を丁寧に行うだけで、調査時間はかなり短くなります。
AIを使う場合も、前提情報を整理してから相談することで、より実務に近い回答を得やすくなります。開発環境のトラブル対応は、焦って修正するよりも、順番に切り分けることが重要です。