2011-11-15 28 views
5

Tôi đang cố gắng chạy Haskell trên Heroku. Tôi đã biên soạn một nhị phân app và tạo ra một Procfile như sau:Phục vụ bằng cách sử dụng nhị phân của riêng bạn trên Cedar, Heroku

web: ./app +RTS -N4 

Khi tôi đẩy nó vào Heroku, nó nói:

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

Bây giờ tôi nghĩ, Cedar không hỗ trợ cán trong những chương trình của bạn. Có cách nào để triển khai nó không?

Tôi đã xem https://github.com/mwotton/heroku_haskell_demo. Anh chàng này dường như đã triển khai cho Heroku nhưng, nó không còn hoạt động nữa. Heroku thấy Gemfile s và nghĩ rằng nó là một ứng dụng Ruby và chạy Procfile mặc định của nó với Bundle install mà không rõ ràng.

Trả lời

4

Bạn có thể triển khai ứng dụng Haskell của mình dưới dạng Node.js. Ngăn xếp Cedar nhận dạng ứng dụng dưới dạng Node.js bởi sự tồn tại của tệp package.json. Vì vậy, bạn nên tạo một package.conf như sau:

package.json:

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

Cảm ơn! Nó hoạt động tốt. Nhưng tôi không hiểu logic đằng sau nó. Bạn có thể giải thích cách giải quyết vấn đề này không? –

+0

Tôi nghĩ mình hiểu rồi, điều quan trọng là đánh lừa Heroku để nghĩ rằng đó là một ứng dụng Node.js, phải không? –

3

Tôi biết rằng bạn đã giải quyết nó, nhưng tôi đã có khá nhiều vấn đề tương tự với một nguyên nhân khác , vì vậy, điều này có thể giúp người khác:

Đảm bảo sử dụng heroku create --stack cedar thay vì heroku create.

+1

Vâng, trước tiên tôi phải giải quyết vấn đề đó, điều này đã dẫn tôi đến vấn đề này 'không có vấn đề về ứng dụng được hỗ trợ bằng tuyết tùng'. –

+1

Dù sao, tôi đang đối mặt với một vấn đề nữa, tôi đã biên dịch mã bằng cách sử dụng 'ghc --make -static app.hs' nhưng nó dường như không hoạt động. Nó hoạt động một lần và tôi đã triển khai nó lên http://miku-heroku.herokuapp.com, nhưng bây giờ nó không hoạt động. –

Các vấn đề liên quan