November 13, 2018
# Bad
bundle update
# Good
bundle update devise
Doing a bundle update
is not recommended because it will attempt to update
all gems listed in your Gemfile
. Make sure you’re updating dependencies one at
a time to avoid issues.
# Strict
gem 'devise', '3.5.0'
One good way of installing a ruby gem is by providing a strict version. It prevents accidental gem updates. This works better if you’re working on a Rails app but avoid this when developing a Ruby gem.
# Bad
gem 'devise', '> 2.5.0'
# Good
gem 'devise', '> 2.5.0', '<= 3.2.0'
A gem entry without an upper-bound may also lead to incompatibility issues. The first example above means that the app will always install the latest-released version of the gem. If the latest version of that gem is not compatible with your app, then an error is sure to happen.
Providing an upper-bound version is saying that the known versions of this gem that works in this app is from 2.5.1 to 3.2.0 (based from the above example).