问题
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.
回答1:
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": {} }
回答2:
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