I am trying to run Haskell on Heroku. I have compiled a binary app
and created a Procfile
as follows:
web: ./app +RTS -N4
When I push it to Heroku, it says:
-----> Heroku receiving push
! Heroku push rejected, no Cedar-supported app detected
Now I think, Cedar does not support rolling in your binaries. Is there any way to deploy it?
I have seen https://github.com/mwotton/heroku_haskell_demo. This guy seems to have deployed to Heroku but, it no longer works. Heroku sees the Gemfile
s and thinks that it is a Ruby app and runs its default Procfile with Bundle install
which fails obviously.
You can deploy your Haskell app as Node.js. Cedar stack recognizes an app as Node.js by the existence of a package.json file. So, you should create a package.conf as follows:
package.json:
{ "name": "project-name", "version": "0.0.1", "dependencies": {} }
I know that you've already solved it, but I had pretty much the same problem with an additional cause, so this might help others:
Make sure to use heroku create --stack cedar
rather than heroku create
.
来源:https://stackoverflow.com/questions/8132821/serve-using-your-own-binary-on-cedar-heroku