我有一个Web应用程序,我试图推送到Heroku,主要依赖于调用Octave脚本。对于开发/测试,我使用的是EC2实例和node.js.在EC2实例上,我安装了Octave。
然而,当我推送到Heroku并尝试调用这个八度脚本(通过ajax调用)时,我收到此错误: https://devcenter.heroku.com/articles/error-codes#h13-connection-closed-without-response
我读到Heroku在AWS实例上运行,所以我假设可能以某种方式调用Octave脚本,因为我已经在我自己的EC2实例上完成了。
分散的文档让我觉得当我推送到Heroku时我必须告诉Heroku安装Octave,但我不知道该怎么做。它是否在节点启动脚本中(如果是,如何)?或者是我缺少的其他东西?
编辑:我认为可能需要通过Heroku buildpack来完成 - 任何人都能证实这一点吗?
编辑2:我认为答案是我需要一个Octave buildpack,类似于: https://github.com/virtualstaticvoid/heroku-buildpack-r 但是对于Octave而不是R.它看起来像一个不存在所以我会尝试制作一个自定义的buildpack。
答案 0 :(得分:1)
是的,你必须使用buildpack。我做了一个允许你运行Octave脚本:
https://github.com/wclark3/heroku-buildpack-octave-dynare
它还包括Dynare,一个宏建模包。因此,如果你遇到这个答案并且你只需要Octave,只需将repo分叉并从bin / compile中取出包含Dynare的行。