3 ms·
Yes, this is due to the effort to extract stdlib code into gems https://stdgems.org/ https://stdgems.org/ In your case, StringIO use to just be stdlib code so
by byroot 1y ago
Yes, this is due to the effort to extract stdlib code into gems https://stdgems.org/ https://stdgems.org/
In your case, StringIO use to just be stdlib code so bundler (or rubygems) uses it. Later on it became a gem, so by requiring it before reading the Gemfile, bundler run into this problem of already having loaded the wrong version.
Everytime this happens the bundler team has to modify bundler, and as a user the fix is to upgrade bundler.
You can see they had to vendor a lot of code from default gems to avoid this problem: https://github.com/rubygems/rubygems/tree/c230844f2eab31478f718a80d5980a70aa6a897d/bundler/lib/bundler/vendor https://github.com/rubygems/rubygems/tree/c230844f2eab31478f...