Could bundler & rubygems be shipped in site_ruby?
Currently bundler & rubygems are shipped together with the rest of the standard library (in
RbConfig::CONFIG["rubylibdir"]). The fact that they share their folder with the rest of the standard library has caused some issues that wouldn't have happened if they were isolated. For example, https://bugs.ruby-lang.org/issues/15469 or https://github.com/rubygems/rubygems/issues/2188.
Also, when you run
gem update --system, rubygems installs a copy of itself and bundler in site_ruby, so you currently end up with two copies of different versions of bundler and rubygems in different folders of the $LOAD_PATH.
hsbt (Hiroshi SHIBATA) has fixed the above issues with a patch to bundler in https://github.com/bundler/bundler/pull/6941, but I still wonder whether it could be cleaner to ship them in site_ruby directly, so that
gem update --system overwrites them and you always have a single default copy of both rubygems and bundler.
Maybe this wouldn't be a good usage of site_ruby, and it's better to keep things as they are, but I figured I could ask ruby-core about it.
Thanks for what you do!
Updated by shevegen (Robert A. Heiler) 11 months ago
I can not answer the question, as I think that is up to the ruby core team, Hiroshi,
the gem-team and the bundler team. However had perhaps it may be worthwhile to actually
consider a new unified name? Perhaps for ruby 3.0 or if that is too early, ruby
4.0. And consider one unified application (e. g. both bundler and rubygems).
People could still decide on their own which functionality they would want to
use (and I mean this in the sense of retaining all the functionality that currently
exists). Although this may be too early ... I thought I would mention it at the
This could also be discussed at an upcoming developer meeting - not solely the
issue here alone, but long term goals and integration. If I recall correctly,
drbrain years ago said that one reason for a merge of bundler + gem would
be so to avoid code duplication (that was years before the work by Hiroshi