default/bundler-1.17.2.gemspec has no file list
Ruby 2.6.1's prefix/lib/ruby/gems/2.6.0/specifications/default/bundler-1.17.2.gemspec seems wrong.
s.files = ["bundler.rb".freeze, "exe/bundle".freeze, "exe/bundler".freeze]
It should have "bundler/setup.rb", "bundler/version.rb", etc.
This causes a trouble depending upon the order of
require when a different version of bundler is installed:
$ gem list bundler *** LOCAL GEMS *** bundler (1.17.3, default: 1.17.2) $ ruby -e 'require "bundler/version"; require "bundler"; p Bundler::VERSION' "1.17.2" $ ruby -e 'require "bundler"; require "bundler/version"; p Bundler::VERSION' "1.17.3"
Updated by hsbt (Hiroshi SHIBATA) almost 3 years ago
- Status changed from Assigned to Closed
Updated by deivid (David Rodríguez) almost 3 years ago
Yes, since rubygems 2.6.1 ships with rubygems 3.0.1, running
gem update --system will update to the latest version (3.0.2) and force reinstallation of the default bundler gem.
However, I have noticed that other default gems suffer from this issue, for example the
etc gem. In that case, a workaround is to reinstall the same version of the default gem, for example,
gem install etc:1.0.1 --default.
Updated by deivid (David Rodríguez) over 2 years ago
I assumed this fix would also fix the incorrect file list for the etc gem's gemspec but I didn't try it to make sure and it looks like it didn't fix it actually. On the default ruby 2.6.2 release, the file list is
["etc.so", "ext/etc/extconf.rb"]. If I force reinstallation as a default gem, it becomes
[".gitignore".freeze, ".travis.yml".freeze, "Gemfile".freeze, "LICENSE.txt".freeze, "README.md".freeze, "Rakefile".freeze, "bin/console".freeze, "bin/setup".freeze, "etc.gemspec".freeze, "ext/etc/etc.c".freeze, "ext/etc/extconf.rb".freeze, "ext/etc/mkconstants.rb".freeze, "test/etc/test_etc.rb".freeze].
This causes some spec failures on bundler's test suite.
Let me know if you want me to open a new ticket!