仮想サーファーの波乗り

仮想サーファーの日常

プログラミング・エンジニアのスキルアップ・ブログ運営などに関してよく書く雑記ブログ

➡ Udemyで8/27(木)まで割引セール開催中! 1,200円〜で普段の90%以上OFF!

【Herokuでgit pushに失敗】App not compatible with buildpack


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のアプリケーションにプッシュしようとしているからエラーになっているっぽい。


f:id:virtual-surfer:20180715104146p:plain

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'.


今度はプッシュ成功した。