user3124081
user3124081

Reputation: 412

ruby-on-rails Heroku deployment crash

This is the message I get from Heroku:

Application Error An error occurred in the application and your page could not be served. Please try again in a few moments. If you are the application owner, check your logs for details.

Here are my Heroku logs:

2014-04-08T22:02:13.178588+00:00 heroku[api]: Starting process with command `bundle exec rake db:create` by [email protected]
2014-04-08T22:02:18.527588+00:00 heroku[run.8019]: State changed from starting to up
2014-04-08T22:02:18.788718+00:00 heroku[run.8019]: Awaiting client
2014-04-08T22:02:18.828968+00:00 heroku[run.8019]: Starting process with command `bundle exec rake db:create`
2014-04-08T22:02:22.272358+00:00 heroku[run.8019]: Process exited with status 0
2014-04-08T22:02:22.284341+00:00 heroku[run.8019]: State changed from up to complete
2014-04-08T22:02:48.921183+00:00 heroku[web.1]: State changed from crashed to starting
2014-04-08T22:02:52.316261+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -R config.ru -e production -p 4765`
2014-04-08T22:02:53.429918+00:00 app[web.1]: bundler: command not found: thin
2014-04-08T22:02:53.429929+00:00 app[web.1]: Install missing gem executables with `bundle install`
2014-04-08T22:02:54.847354+00:00 heroku[web.1]: State changed from starting to crashed
2014-04-08T22:02:54.832762+00:00 heroku[web.1]: Process exited with status 127
2014-04-08T22:02:56.215218+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=radiant-castle-7002.herokuapp.com request_id=feed828c-36f7-494b-9fc7-373682fe93fa fwd="150.131.104.237" dyno= connect= service= status=503 bytes=
2014-04-08T22:02:56.605129+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=radiant-castle-7002.herokuapp.com request_id=89331d0e-764e-4a2e-be91-a6b687f5016c fwd="150.131.104.237" dyno= connect= service= status=503 bytes=

Would someone mind explaining what this means? It runs perfectly fine locally on my computer. Thanks.

EDIT:Gemfile

source 'https://rubygems.org'

gem 'rails', '3.2.12'

gem 'devise'
gem 'simple_form'
gem 'state_machine'
gem 'draper', '~> 1.0'
gem 'js-routes'
gem 'paperclip'
gem 'will_paginate'
gem 'bootstrap-will_paginate'

group :development do
  gem 'thin'
end

group :test do
  gem 'shoulda'
  gem 'factory_girl_rails'
end

group :development, :test do
    gem 'sqlite3'
  gem 'log_buddy'
end

group :production do
    gem "pg"
end

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

Problem 2: after thin gem removal. Heroku Logs:

2014-04-08T22:26:06.268271+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=radiant-castle-7002.herokuapp.com request_id=0a8782a3-e8e4-45b2-b642-23bb2519283f fwd="150.131.104.237" dyno= connect= service= status=503 bytes=
2014-04-08T22:26:06.597458+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=radiant-castle-7002.herokuapp.com request_id=d4bafa55-9945-436b-be44-102542c539fb fwd="150.131.104.237" dyno= connect= service= status=503 bytes=

Upvotes: 1

Views: 143

Answers (1)

Alex Mcp
Alex Mcp

Reputation: 19315

Sure, you don't have thin in your prod gemset

Take the group :development out from around the gem thin line.

Heroku isn't downloading a gem (thin) needed to be your webserver

EDIT

The key line in troublshooting from all that log output is

app[web.1]: bundler: command not found: thin

That means that bundler is trying to boot up your app, but doesn't know about something called thin. How do you 'teach' your app about new things? The gemfile. That's the thought process I ran through.

Heroku always sets RAILS_ENV to :production by default, which will only install gems from the default or production gemsets. That was the core issue here.

Upvotes: 1

Related Questions