トラブルシューティング
アプリケーションに問題がある場合は、以下のことを検討し、除外するように努めてください。
- データベース接続の問題
- 環境変数
- 不適切な変数
- 特殊文字
- Base64 エンコードした変数
- 外部アプリケーションとの接続性の問題
- 誤りのあるstartコマンドの開始─たとえば、
npm
しか利用できないのにyarn
を使用しようとしている場合や、必要なstartスクリプトがない状態のpackage.jsonファイルを使用している場合など - startコマンドを連結する場合、最後のコマンドがウェブサービスを開始する必要あり(これにより、コンテナが実行され、着信する接続をリッスンし続けます)
- package.json内のパッケージ名が無効(たとえば、名前に「js」や「node」を使用しないでください。詳細については、npm Docsのnpmのpackage.jsonの取り扱いについてをご参照ください)
- パーミッションの問題
- ファイルが見つからない
一般的なトラブルシューティングの手順
- startコマンドを
sleep 9999
に変更します。これによりPodが実行状態になり、ウェブターミナルからPodと対話できるようになります。ウェブプロセスを編集してstartコマンドを変更します(「プロセス」>「ウェブプロセス」>「プロセスを編集」)。 - ウェブターミナルを開きます。
- ウェブターミナルで
printenv
と入力し、環境変数が期待通りのものであることを確認します。ものであることを確認する。 - デバッグオプションを有効にして、アプリケーションを手動で実行してみます。これを実行するコマンドはアプリケーションによって異なる場合があります。詳細はアプリケーションがビルドされている言語やパッケージマネージャーのドキュメントを確認してください。
- アプリケーションをローカルでビルドしてみます。
- Buildpacksの場合、以下のように
pack build
コマンドを使用して、コンテナイメージをローカルでビルドすることができます。pack build <image name> --path <application directory> --buildpack heroku/<buildpack name> -v
- Nixpacksの場合は、ローカルにNixpacksをインストールし、アプリケーションディレクトリ内で
nixpacks build
を実行します。
- Buildpacksの場合、以下のように