Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialCody Mumford
11,531 PointsTroubleshooting my Heroku launch
So I am having trouble launching my Heroku Rails app giving me this. I don't have a procfile and I think that may be part of it. Here is my repository: https://github.com/cody-mum1228/toy_app
This is local.
Thanks in advance dudes!
2016-02-09T16:33:39.066766+00:00 heroku[api]: Enable Logplex by ----@wishforwater.com
2016-02-09T16:33:39.066832+00:00 heroku[api]: Release v2 created by -----@wishforwater.com
2016-02-09T16:34:59.699053+00:00 heroku[api]: Set LANG, RACK_ENV, RAILS_ENV, RAILS_SERVE_STATIC_FILES, SECRET_KEY_BASE config vars by -----@wishforwater.com
2016-02-09T16:34:59.699094+00:00 heroku[api]: Release v3 created by -----@wishforwater.com
2016-02-09T16:35:00.345305+00:00 heroku[api]: Release v4 created by ------@wishforwater.com
2016-02-09T16:35:00.345269+00:00 heroku[api]: Attach DATABASE resource by -------@wishforwater.com
2016-02-09T16:35:00.683471+00:00 heroku[api]: Scale to web=1 by ------@wishforwater.com
2016-02-09T16:35:00.772544+00:00 heroku[api]: Deploy c948f3b by ------@wishforwater.com
2016-02-09T16:35:00.772544+00:00 heroku[api]: Release v5 created by -------@wishforwater.com
2016-02-09T16:35:01.121740+00:00 heroku[slug-compiler]: Slug compilation started
2016-02-09T16:35:01.121746+00:00 heroku[slug-compiler]: Slug compilation finished
2016-02-09T16:35:03.165112+00:00 heroku[web.1]: Starting process with command bin/rails server -p 42068 -e production
2016-02-09T16:35:05.155917+00:00 app[web.1]: /usr/bin/env: ruby2.3: No such file or directory
2016-02-09T16:35:05.977650+00:00 heroku[web.1]: Process exited with status 127
2016-02-09T16:35:06.009940+00:00 heroku[web.1]: State changed from crashed to starting
2016-02-09T16:35:06.009088+00:00 heroku[web.1]: State changed from starting to crashed
2016-02-09T16:35:08.456475+00:00 heroku[web.1]: Starting process with command bin/rails server -p 55480 -e production
2016-02-09T16:35:10.548508+00:00 app[web.1]: /usr/bin/env: ruby2.3: No such file or directory
2016-02-09T16:35:11.429070+00:00 heroku[web.1]: Process exited with status 127
2016-02-09T16:35:13.289143+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=sampleapptutu.herokuapp.com request_id=1305e85c-27b2-457b-8a98-0d27f6bf28d5 fwd="8.40.162.240" dyno= connect= service= status=503 bytes=
2016-02-09T16:35:13.866475+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=sampleapptutu.herokuapp.com request_id=7088d110-dad3-48e5-bd56-78d76ea52ab2 fwd="8.40.162.240" dyno= connect= service= status=503 bytes=
2016-02-09T16:35:11.444075+00:00 heroku[web.1]: State changed from starting to crashed
2 Answers
Seth Kroger
56,413 PointsYou're going through Hartl's Rails tutorial, yes? Did you deploy the "Hello World!" app ok, or did it give you the same issues?
You don't necessarily need a Procfile for Rails deployment. Heroku will use the default Rails server if it's missing. From the logs it looked like it failed to find ruby2.3 (the brand new version), which you specified in the Gemfile. Heroku defaults to 2.2, iirc, I'd suggest removing the ruby line from the Gemfile (Or, better yet use the Gemfile Hartl provides if you're using his tutorial), re running bundle install/update, and trying it again.
Nicolas Hampton
44,638 PointsHi Cody,
I only know a very small amount about Ruby or Rails. However, I've deployed to Heroku before with node. It's almost seemless, except for the enviornment variables, so I checked out the quickstart for Rails, and found that procfile you were talking about in the quickstart repo. It only had one line:
web: bundle exec puma -C config/puma.rb
So I went to the config/puma.rb
file it was pointing to and found this:
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
# Worker specific setup for Rails 4.1+
# See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
ActiveRecord::Base.establish_connection
end
There are those enviornment variables I was talking about. So I don't know how you want to implement it or how, because I'm not a Ruby on Rails guy, but you have to point the server to those PORT, RACK_ENV, etc. variables. I hope that helps. Happy coding!
Nicolas
Cody Mumford
11,531 PointsCody Mumford
11,531 PointsI went through hell to change my Ruby to version 2.2, but it fixed it. Thanks for the bit advice dude.