Bundler 2.0 was released! and bundler may not be happy

bundler
ruby
rubygems

#1

https://bundler.io/blog/2019/01/03/announcing-bundler-2.html

Key Points:

  • Bundler 2.0 was released Jan 3rd.
  • Bundler 2 requires RubyGems 3.0 gem update --system
  • Bundler 2 will install with: gem install bundler

The following is the full list of changes to Bundler 2:

  • Removed support for Ruby < 2.3
  • Removed support for RubyGems < 3.0.0
  • Changed the github: ‘some/repo’ gem source to use the https schema by default
  • Errors/warnings will now print to STDERR
  • Bundler now auto-switches between version 1 and 2 based on the Lockfile

Then things broke.
Users have been reporting issues from multiple Ruby based images where the bundler command appeared to be missing or caused other related errors.

Apology: https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html

Yesterday I released Bundler 2.0 that introduced a number of breaking changes. One of the those changes was setting Bundler to require RubyGems v3.0.0. After making the release, it has become clear that lots of our users are running into issues with Bundler 2 requiring a really new version of RubyGems.

We have been listening closely to feedback from users and have decided to relax the RubyGems requirement to v2.5.0 at minimum. We have released a new Bundler version, v2.0.1, that adjusts this requirement.

I apologise to our users for the disruption this has caused.

“Auto version switching” should mean, based on the user’s lock file, Bundler v1 should be used for older projects but this auto switching only works with RubyGems 2.7.0+

How do we fix things?

  • A good option for users requiring older versions of Ruby may be to pin their image SHA for the time being.
  • For users of Ruby 2.3+, newly built images should likely resolve the issue. In the meantime users can first update RubyGems gem update --system and then upgrade Bundler bundle update --bundler . Lockfiles will still specify to use bundler v1 or v2.