Localで作成したPythonのアプリケーションを既存のHeroku上のアプリケーションに強制的にプッシュして上書きしようとすると、以下のようなエラー。
$ git push -f --set-upstream https://git.heroku.com/xxx.git master Counting objects: 9, done. Delta compression using up to 4 threads. Compressing objects: 100% (6/6), done. Writing objects: 100% (9/9), 2.76 KiB | 940.00 KiB/s, done. Total 9 (delta 0), reused 0 (delta 0) remote: Compressing source files... done. remote: Building source: remote: remote: -----> App not compatible with buildpack: https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/nodejs.tgz remote: Node.js: package.json not found in application root remote: remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure remote: remote: ! Push failed remote: Verifying deploy... remote: remote: ! Push rejected to xxx remote: To https://git.heroku.com/xxx.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'https://git.heroku.com/xxx.git'
表示されているエラー文を見てみると、「App not compatible with buildpack: https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/nodejs.tgz」となっていて、Pythonのアプリケーションをnodejsのアプリケーションにプッシュしようとしているからエラーになっているっぽい。
Buildpackがnodejsになっている。「Add buildpack」ボタンを押して、Pythonアプリケーションを追加する。
再度pushしてみます。
$ git push -f --set-upstream https://git.heroku.com/xxx.git master Counting objects: 9, done. Delta compression using up to 4 threads. Compressing objects: 100% (6/6), done. Writing objects: 100% (9/9), 2.76 KiB | 705.00 KiB/s, done. Total 9 (delta 0), reused 0 (delta 0) remote: Compressing source files... done. remote: Building source: ... To https://git.heroku.com/xxx.git + bd1b24c...0cff6b1 master -> master (forced update) Branch 'master' set up to track remote branch 'master' from 'https://git.heroku.com/xxx.git'.
今度はプッシュ成功した。