Reputation: 412
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
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