Feature #16652
closedUse RubyGems facilities to install Gems during Ruby installation
Description
Currently, tools/rbinstall
uses quite some custom code to install gems instead of using functionality available in RubyGems. I don't think this is good, because the code is non transparent ATM and it is duplicating functionality, which is already available and tested in RubyGems. Also, it intoduces its own concepts such as $script_mode
vs $prog_mode
. So I opened two PRs, gradually implementing this.
The first PR 1 uses Gem::Package
like object and duck typing instead of monkey patching.
- This is similar to what RubyGems do and it is less magic 2.
- It avoids deprecated code paths in RubyGems 3.
The second PR 4 builds on the top of the first one and uses UnpackedInstaller
to install default gems (it would be probably nice to get UnpackedInstaller
into RubyGems, but I am not sure how it could be invoked). As a bonus, it removes the pregenerated binstubs. These are now generated by Gem::Installer
instead.