While following the Rails 4 Beta version of Michael Hartl\'s Ruby on Rails Tutorial, my app fails to start on Heroku, but runs fine locally with
We didn't have a myapp/bin directory in our rails 4 app, so we created one and then copied in the my app/script/rails file, plus the bundle and rake files from under rvm/ruby/bin and then added these to the repo for git and pushed it up to heroku and all was well.
Steps :
bundle config --delete bin# Turn off Bundler's stub generator
rake rails:update:bin# Use the new Rails 4 executables
git add bin or git add bin -f# Add bin/ to source control
git commit -a -m "you commit message"
git push heroku master
heroku open
After struggling with this for a bit, I noticed that my Rails 4 project had a /bin directory, unlike some older Rails 3 projects I had cloned. /bin contains 3 files, bundle, rails, and rake, but these weren't making it to Heroku because I had bin in my global .gitignore file.
This is a pretty common ignore rule if you work with Git and other languages (Java, etc.), so to fix this:
bin from ~/.gitignorebundle installgit add . and git commit -m "Add bin back"git push heroku masterI can confirm running rake rails:update:bin works, as said by @Ryan Taylor.
I think I had this problem because I originally created this Rails app on Windows. Running the command above on Linux solved for me.
Also, on changing from Windows to Linux for development, it is a good idea to delete Gemfile.lock file and run bundle install to generate it again without Windows specific gems listed there.
I had this problem also since I upgraded to rails 4.0.0
Run this command
rake rails:update:bin
You can go here for more info https://devcenter.heroku.com/articles/rails4
I had this issue because the permissions on my ~/bin directory were 644 instead of 755. Running rake rails:update:bin locally (on Mac/*nix) and then pushing the changes fixed the problem.