I'm still new to rails/ruby/bundler and am a little confused.
In our config/application.rb
file there's this bundler segment:
if defined?(Bundler) # If you precompile assets before deploying to production, use this line Bundler.require(*Rails.groups(:assets => %w(development test))) # If you want your assets lazily compiled in production, use this line # Bundler.require(:default, :assets, Rails.env) end
and in our Gemfile
we use different groups, e.g.
group :development, :test do gem "rspec-rails", ">= 2.7.0", :group => [:development, :test] gem 'shoulda-matchers' gem 'watchr' gem 'spork', '~> 1.0rc' gem 'spectator' gem 'debugger' gem 'wirble' end
But when I run RAILS_ENV=production bundle install
(or bundle install --deployment
), it still installs gems from the development/test group...
Why does this happens or how can I make this work properly?
Now, If I use following command: bundle install --without production. In above command, the --without production option prevents the local installation of any production gem means whatever gems are in the production group will not be installed -- which in our example is just one gem: pg .
In the invoked popup, start typing bundler, select bundle install and press Enter . Select Tools | Bundler | Install from the main menu. Open the Gemfile, place the caret at any highlighted gem missing in the project SDK and press Alt+Enter . Select Install missing gems using 'bundler' and press Enter .
When we run bundle install in a project , if there is no Gemfile. lock exist, Bundler will fetch all remote sources, resolve dependencies and install all needed gems.
Take a look at --without
option:
bundle install --without development test
By default Bundler installs all gems and your application uses the gems that it needs. Bundler itself knows nothing about Rails and the current environment.
An alternative solution is to use the bundle-only
ruby gem. It can be used as follows:
> gem install bundle-only > bundle-only production
This library does not pollute your bundler configs or augment Gemfile.lock
; it is a simple alternative to the built in bundle --without every other group
option that bundler
provides.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With