If you work with Ruby, you use Bundler all the time, I believe. Bundler manages all the gems that
the application or library depends on. You just have to define them in Gemfile and execute a proper
command for installing or updating your libraries. Sounds easy, right? But you, of course, know
that is not 100% true for big projects or for projects where the team does releases frequently.
In most cases, the Gemfile grows fast, dependency definitions scattered in the file, versions are
not properly set and so on, and so forth. Have you ever had a problem with running
and getting conflicting gems message? When a security patch for some gem was released, but your
hands were tied because of reason above? I have this issue almost every time when I start working
on an application which is already in active development or, even worse, abandoned for a while.
In this guide, I would like to share with you some steps for preventing such issues in the
Gemfile-based applications. Most likely, Rails projects.