Bug #19687
closedShould a development version of the standard library be included in ruby/ruby?
Description
The stringio
gem uses the value of the STRINGIO_VERSION
as the gem version.
https://github.com/ruby/ruby/blob/31ac8efca8ecb574e1e7b7c32cce54cb1b97f19a/ext/stringio/stringio.gemspec#L15
https://github.com/ruby/ruby/blob/31ac8efca8ecb574e1e7b7c32cce54cb1b97f19a/ext/stringio/stringio.c#L15
#define STRINGIO_VERSION "3.0.7"
It seems that that stringio
on the current master branch in ruby/ruby sets the version 3.0.7 that doesn't exist in the RubyGems https://rubygems.org/gems/stringio by the commit https://github.com/ruby/ruby/commit/67743d582317544d2c830b63d3423b04bad185a7.
And I see that this causes raising an error when running bundle install
on ruby/openssl with Ruby on the master branch. I captured the Gemeifile.lock
by bundle lock
. And I see the rdoc
depending on psych
depending on stringio
.
The workaround was to add gem "stringio", "< 3.0.7"
to the Gemfile
. However, it's not convenient. Is it an expected behavior? Or should the ruby/ruby always merge the static version of the ruby/* (upstream standard libraries such as "stringio") rater than the development version?
$ which ruby
~/.local/ruby-bd786e7896/bin/ruby
$ ruby -v
ruby 3.3.0dev (2023-05-22T03:58:17Z master bd786e7896) [x86_64-linux]
$ pwd
/home/jaruga/git/ruby/openssl
$ bundle install --standalone
...
stringio-3.0.7 is built in to Ruby, and can't be cached because your Gemfile doesn't have any sources that contain it.
...
Bundler::GemNotFound: Could not find stringio-3.0.7.gem for installation
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/source/rubygems.rb:157:in
`install'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/gem_installer.rb:54:in
`install'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/parallel_installer.rb:156:in
`do_install'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/parallel_installer.rb:147:in
`block in worker_pool'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:62:in `apply_func'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:57:in `block in
process_queue'
<internal:kernel>:187:in `loop'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:54:in `process_queue'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:90:in `block (2
levels) in create_threads'
An error occurred while installing stringio (3.0.7), and Bundler cannot continue.