Skip to content

Commit

Permalink
Merge pull request #29967 from naw/binstub-error-msg
Browse files Browse the repository at this point in the history
Improve bundler binstub error message
  • Loading branch information
schneems committed Aug 3, 2017
2 parents 7d69903 + bc5977b commit 23b0701
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions railties/lib/rails/app_loader.rb
Expand Up @@ -8,15 +8,26 @@ module AppLoader # :nodoc:
RUBY = Gem.ruby
EXECUTABLES = ["bin/rails", "script/rails"]
BUNDLER_WARNING = <<EOS
Looks like your app's ./bin/rails is a stub that was generated by Bundler.
Beginning in Rails 4, Rails ships with a `rails` binstub at ./bin/rails that
should be used instead of the Bundler-generated `rails` binstub.
In Rails #{Rails::VERSION::MAJOR}, your app's bin/ directory contains executables that are versioned
like any other source code, rather than stubs that are generated on demand.
If you are seeing this message, your binstub at ./bin/rails was generated by
Bundler instead of Rails.
Here's how to upgrade:
You might need to regenerate your `rails` binstub locally and add it to source
control:
rails app:update:bin # Bear in mind this generates other binstubs
# too that you may or may not want (like yarn)
If you already have Rails binstubs in source control, you might be
inadverently overwriting them during deployment by using bundle install
with the --binstubs option.
If your application was created prior to Rails 4, here's how to upgrade:
bundle config --delete bin # Turn off Bundler's stub generator
rails app:update:bin # Use the new Rails 5 executables
rails app:update:bin # Use the new Rails executables
git add bin # Add bin/ to source control
You may need to remove bin/ from your .gitignore as well.
Expand Down

0 comments on commit 23b0701

Please sign in to comment.