Heroku应用程序崩溃:heroku [路由器]:at =错误代码= H10

时间:2014-02-27 01:32:37

标签: heroku

我刚刚在heroku上启动了一个新的应用程序,我在正在运行的应用程序中使用了git clone。我推动了一切,迁移了数据库,并重新启动了heroku。该应用程序仍然崩溃。 heroku logs给了我:

2014-02-27T01:18:25.726069+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=********.herokuapp.com request_id=1ded5a34-7d01-440b-9fb4-0041fdc64715 fwd="75.149.130.1" dyno= connect= service= status=503 bytes=

code=H10是“app或dyno崩溃”。如果有帮助,应用程序在Thin上运行。

如何重启动力枪?我该怎么做才能获得更多关于此的诊断信息?

编辑:(更多信息)

我跑了heroku restart thin并立即运行heroku logs,发现了这个: ruby: symbol lookup error: /app/vendor/bundle/ruby/2.0.0/gems/eventmachine-1.0.0/lib/rubyeventmachine.so: undefined symbol: rb_enable_interrupt

该应用程序是基于ruby 1.9.2和rails 3.0.10构建的,所以我假设这里有某种版本问题,但我不明白。 This article提到Thin的相同问题,并建议不使用它。但我有一个与另一个heroku应用程序运行良好的完全相同的应用程序,并且我曾经使用的所有应用程序都很薄,我真的不知道为什么这不起作用。

编辑2:

虽然我的应用程序是使用ruby 1.9.2构建的,但heroku正试图使用​​ruby 2.0.0进行部署。如何告诉它使用1.9.2?设置或我的gem / config文件中的东西?

编辑3 :(我想我正在做些什么)

运行ruby -v会产生1.9.2

运行`heroku run“ruby -v”产生2.0.0

This article表示可以在gemfile中声明它。我有一种感觉,这将解决我的问题。

1 个答案:

答案 0 :(得分:0)

Heroku ruby​​ buildpack将安装Gemfile中指定的ruby版本。 Ruby 2.0.0是当前的默认ruby。

要将Ruby 1.9.2配置为应用程序所需的版本,请将以下内容添加到Gemfile的顶部:

ruby '1.9.2'