diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-12-13 13:45:57 +0100 |
---|---|---|
committer | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-12-13 13:45:57 +0100 |
commit | 7e566885263aecf6a1eccf00e6c4d130774139f1 (patch) | |
tree | 88772a51286e8b56a53748533bac19c1e997a7ed | |
parent | 6394536271a0326efd4ed3544b78e528da7e90b1 (diff) | |
download | bundler-skip_did_you_mean_on_2_7.tar.gz |
Skip `did_you_mean` and `delegate` failures on MRI 2.7skip_did_you_mean_on_2_7
Ruby 2.7 will turn `did_you_mean` into a default gem. That means that
bundler tests that make sure that an arbritary version of default gems
can be specified in the `Gemfile` will now run against `did_you_mean`.
And this doesn't work because `did_you_mean` is activated in ruby's
`prelude.rb`, way before `bundler/setup` is required, so the latest
version will always be activated, regardless of what the user specifies.
If these versions are not the same, a gem activation conflict error will
happen.
Note that this problem is not specific to ruby 2.7, it simply gets
triggered by the change of making it a default gem, but it would also
happen on older versions if the user `did_you_mean` version specified in
the `Gemfile` does not match the latest version installed on her system.
As a consequence of this, we also get activation trouble because
`did_you_mean` depends on `delegate` which is also a default gem on ruby
2.7. This problem _is_ specific to ruby 2.7 because `delegate` was not
gemified before that, but can probably be workarounded by removing the
`delegate` dependendcy from `did_you_mean`.
-rw-r--r-- | spec/runtime/setup_spec.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/spec/runtime/setup_spec.rb b/spec/runtime/setup_spec.rb index 8769b00426..53300af618 100644 --- a/spec/runtime/setup_spec.rb +++ b/spec/runtime/setup_spec.rb @@ -1203,7 +1203,7 @@ end describe "default gem activation" do let(:exemptions) do if Gem::Version.new(Gem::VERSION) >= Gem::Version.new("2.7") - [] + %w[delegate did_you_mean] else %w[io-console openssl] end << "bundler" |