Why could Bundler not find compatible versions, but I can?

158 views Asked by At

I'm bundle upgradeing a few gems, and getting some errors I find strange:

Bundler could not find compatible versions for gem "tzinfo":
  In Gemfile:
    rails (= 5.2.3) was resolved to 5.2.3, which depends on
      activesupport (= 5.2.3) was resolved to 5.2.3, which depends on
        tzinfo (~> 1.1)

    tzinfo-data was resolved to 1.2019.2, which depends on
      tzinfo (>= 1.0.0)

Wouldn't tzinfo 1.1 satisfy this? Isn't >= 1.0.0 just a subset of tzinfo (~> 1.1)?

Bundler could not find compatible versions for gem "mongo":
  In Gemfile:
    mongo (~> 2.4.1)

    mongoid (~> 6.0) was resolved to 6.2.1, which depends on
      mongo (< 3.0.0, >= 2.4.1)

Why wouldn't mongo 2.4.1 would satisfy these?

1

There are 1 answers

1
pnrm On

tzinfo (~> 1.1) is just the equivalent to '>= 1.1.0, < 1.2.0'. So >= 1.0.0 is not subset of ~> 1.1. Using version 1.1 should help.

I don't see the reason why mongo shouldn't work in version 2.4.1, but try to specify exact version:

gem 'mongo', '2.4.1'

More about ~> in Rubygem guides.