buildpack エラーのトラブルシューティング
最終更新日 2024年12月03日(火)
Table of Contents
ファイルの欠落エラー
設定済みの buildpack がアプリケーションを処理できない場合はエラーが発生します。たとえば、Heroku の Ruby buildpack では、アプリケーションのタイプを正しく識別するために、アプリケーションのルートフォルダに Gemfile
が存在することが想定されています。アプリケーションの buildpack が heroku/ruby
に設定され、Gemfile
が存在しない場合、アプリケーションのビルドは失敗します。
このような状況は、以前アプリケーションのタイプの検出に使用できたファイルを削除したり、ファイル名を変更したりした場合にも発生する可能性があります。
たとえば、PHP で作成されたアプリケーションをプッシュする場合に、アセット処理用の npm パッケージを含む composer.json
と package.json
があると、アプリケーションは Node.js アプリケーションとして検出されます。
Cedar 世代のアプリ
package.json
を削除しても、Cedar 世代のアプリに使用される buildpack は自動で再設定されません。クラシック buildpack は heroku/nodejs
に固定されており、package.json
なしで git push
を試行するとエラーが発生します。
クラシック buildpack の場合、このエラーを解決するには手動で buildpack をクリアするか、アプリに必要な buildpack を設定する必要があります。この例では heroku/php
です。
Fir 世代のアプリ
Cloud Native Buildpack の場合は、project.toml
ファイルで buildpack を管理します。これらのアプリでは自動で固定されません。