【问题标题】:heroku sinatra app crashes, error h10heroku sinatra 应用程序崩溃,错误 h10
【发布时间】:2013-08-15 05:12:25
【问题描述】:

我是 heroku 和 sinatra 的新手,但我的应用程序在本地运行,使用 sinatra 和 sqlite3 就很好。我知道 heroku 不支持 sqlite3,所以我尝试了这个答案:Deploy RoR to Heroku and Sqlite3 fails

当我推送到 heroku 并尝试访问它时,我收到了一个错误。所以我检查了日志。这就是我所看到的。我在这里看到其他人遇到同样的问题,但解决方案各不相同,我尝试重新启动 heroku:

2013-08-15T05:07:17+00:00 heroku[slug-compiler]: Slug compilation finished
2013-08-15T05:07:21.550961+00:00 heroku[web.1]: Starting process with command `bundle exec rackup config.ru -p 28820`
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/sinatra-activerecord-1.2.3/lib/sinatra/activerecord.rb:23:in `database'
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/app.rb:7:in `<top (required)>'
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/sinatra-activerecord-1.2.3/lib/sinatra/activerecord.rb:17:in `database='
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
2013-08-15T05:07:25.339488+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:40:in `parse_file'
2013-08-15T05:07:25.339488+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:199:in `app'
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/config.ru:2:in `block in <main>'
2013-08-15T05:07:25.339488+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in `eval'
2013-08-15T05:07:25.339770+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:314:in `wrapped_app'
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_handling.rb:39:in `establish_connection'
2013-08-15T05:07:25.339488+00:00 app[web.1]:    from /app/config.ru:in `<main>'
2013-08-15T05:07:25.339770+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/bin/rackup:4:in `<top (required)>'
2013-08-15T05:07:25.339194+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/connection_specification.rb:46:in `resolve_string_connection'
2013-08-15T05:07:25.339488+00:00 app[web.1]:    from /app/config.ru:in `new'
2013-08-15T05:07:25.339770+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/bin/rackup:23:in `load'
2013-08-15T05:07:25.339194+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/connection_specification.rb:32:in `spec'
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
2013-08-15T05:07:25.339488+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in `new_from_string'
2013-08-15T05:07:25.339079+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/connection_specification.rb:58:in `rescue in resolve_hash_connection': Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile. (Gem::LoadError)
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:1191:in `set'
2013-08-15T05:07:25.339079+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/connection_specification.rb:55:in `resolve_hash_connection'
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.3/lib/sinatra/base.rb:1917:in `block (2 levels) in delegate'
2013-08-15T05:07:25.339488+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:277:in `build_app_and_options_from_config'
2013-08-15T05:07:25.339314+00:00 app[web.1]:    from /app/config.ru:2:in `require'
2013-08-15T05:07:25.339770+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:141:in `start'
2013-08-15T05:07:25.339770+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/bin/rackup:23:in `<main>'
2013-08-15T05:07:25.339770+00:00 app[web.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:250:in `start'
2013-08-15T05:07:27.328918+00:00 heroku[web.1]: Process exited with status 1
2013-08-15T05:07:27.341978+00:00 heroku[web.1]: State changed from starting to crashed
2013-08-15T05:07:28.551518+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=intense-depths-3455.herokuapp.com fwd="70.179.10.147" dyno= connect= service= status=503 bytes=
2013-08-15T05:07:29.149180+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=intense-depths-3455.herokuapp.com fwd="70.179.10.147" dyno= connect= service= status=503 bytes=

关于如何让它发挥作用的任何想法? 我的配置 ru 是:

#config.ru
require "./app"
run Sinatra::Application

我的 gemfile 是:

source 'https://rubygems.org'

gem "sinatra"
gem "activerecord"
gem "sinatra-activerecord"
gem "pony"

group :development do
  gem "shotgun"
  gem "tux"
  gem "sqlite3", "~> 1.3.7", :require => "sqlite3"
end

【问题讨论】:

    标签: ruby heroku sqlite sinatra


    【解决方案1】:

    我能够通过添加一行在生产中使用 postgresql 来使其工作。

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多