2011-11-15 6 views
5

HaskellをHerokuで実行しようとしています。私はバイナリappをコンパイルし、次のようにProcfileを作成しました:Cedar、Herokuで独自のバイナリを使用して配信する

web: ./app +RTS -N4 

私はHerokuのにそれをプッシュすると、それは言う:

-----> Heroku receiving push 
!  Heroku push rejected, no Cedar-supported app detected 

は、今私が思うに、シダーはあなたのバイナリでの圧延をサポートしていません。それを展開する方法はありますか?

私はhttps://github.com/mwotton/heroku_haskell_demoを見ました。この男はヘロクに展開したようだが、もはや機能しない。 HerokuはGemfileを見て、それがRubyアプリだと思って、明らかに失敗したBundle installというデフォルトのProcfileを実行します。

答えて

4

Node.jsとしてHaskellアプリケーションをデプロイできます。 Cedarスタックは、package.jsonファイルの存在によって、アプリケーションをNode.jsとして認識します。次のように だから、あなたはpackage.confを作成する必要があります。

package.json:

{ "name": "project-name", "version": "0.0.1", "dependencies": {} } 
+1

ありがとうございます!それはうまくいく。しかし、私はそれの背後にある論理を理解していない。これがどうやって問題を解決するのか説明できますか? –

+0

私はそれを得ると思う、キーは、それがNode.jsアプリだと思うようにHerokuを欺くことなのだろうか? –

3

私はあなたがすでにそれを解決してきたことを知っているが、私は追加の原因とほとんど同じ問題を抱えていました他の人に役立つかもしれません。

heroku createではなくheroku create --stack cedarを必ず使用してください。

+1

ええ、私はこの問題に最初に取り組まなければなりませんでした。これは私にこの「杉のサポートされたアプリの問題」をもたらしました。 –

+1

とにかくもう一つの問題に直面しています。 'ghc --make -static app.hs'を使ってコードをコンパイルしましたが、動作しないようです。一度は動作し、http://miku-heroku.herokuapp.comに展開しましたが、今は動作しません。 –

関連する問題