You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Starting with commit bbe4da0 (bundler v2.5.8), I see warnings emitted when using a bundler cache and requiring "rubygems".
For example, when running tests in the sparklemotion/sqlite3-ruby repository with bundler 2.5.8 or later:
/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:10: warning: /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:10: warning: loading in progress, circular require considered harmful - /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems.rb
from <internal:gem_prelude>:2:in `<internal:gem_prelude>'
from <internal:gem_prelude>:2:in `require'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems.rb:1382:in `<top (required)>'
from <internal:/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from <internal:/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/setup.rb:10:in `<top (required)>'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/ui/shell.rb:111:in `silence'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/ui/shell.rb:159:in `with_level'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/setup.rb:10:in `block in <top (required)>'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler.rb:162:in `setup'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/runtime.rb:18:in `setup'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/definition.rb:270:in `specs_for'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/definition.rb:203:in `specs'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/definition.rb:579:in `materialize'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:121:in `materialize'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:22:in `for'
from <internal:kernel>:187:in `loop'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:34:in `block in for'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:281:in `specs_for_dependency'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:281:in `map!'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/lazy_specification.rb:97:in `materialize_for_installation'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/source/rubygems.rb:136:in `specs'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/source/rubygems.rb:392:in `cached_specs'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/source/rubygems.rb:392:in `each'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/source/rubygems.rb:393:in `block in cached_specs'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/rubygems_integration.rb:168:in `spec_from_gem'
from <internal:/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from <internal:/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:10:in `<top (required)>'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:10:in `require_relative'
I don't see this warning if I use an earlier version of bundler or if I delete the vendor/ directory which stores the cache.
Did you try upgrading rubygems & bundler?
Yes, this issue is present in 2.5.8 and 2.5.9 (but not in earlier versions). I've bisected the behavior to bbe4da0.
Post steps to reproduce the problem
Start with an empty directory. Create a Gemfile:
source "https://rubygems.org"
gem "minitest"
run bundle install
run bundle exec ruby -w -e "require 'rubygems'"
see that there are no warnings emitted
run bundle package
run bundle exec ruby -w -e "require 'rubygems'"
see that there are warnings emitted
On my system, the warning messages I see in this scenario are:
/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:10: warning: /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:10: warning: loading in progress, circular require considered harmful - /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems.rb
from <internal:gem_prelude>:2:in `<internal:gem_prelude>'
from <internal:gem_prelude>:2:in `require'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems.rb:1382:in `<top (required)>'
from <internal:/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from <internal:/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/setup.rb:10:in `<top (required)>'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/ui/shell.rb:111:in `silence'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/ui/shell.rb:159:in `with_level'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/setup.rb:10:in `block in <top (required)>'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler.rb:162:in `setup'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/runtime.rb:18:in `setup'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/definition.rb:270:in `specs_for'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/definition.rb:203:in `specs'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/definition.rb:579:in `materialize'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:121:in `materialize'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:22:in `for'
from <internal:kernel>:187:in `loop'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:34:in `block in for'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:281:in `specs_for_dependency'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/spec_set.rb:281:in `map!'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/lazy_specification.rb:97:in `materialize_for_installation'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/source/rubygems.rb:136:in `specs'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/source/rubygems.rb:392:in `cached_specs'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/source/rubygems.rb:392:in `each'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/source/rubygems.rb:393:in `block in cached_specs'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/bundler-2.5.9/lib/bundler/rubygems_integration.rb:168:in `spec_from_gem'
from <internal:/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from <internal:/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:10:in `<top (required)>'
from /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/site_ruby/3.3.0/rubygems/package.rb:10:in `require_relative'
If not included with the output of your command, run bundle env and paste the output below
Environment
Bundler 2.5.9
Platforms ruby, x86_64-linux
Ruby 3.3.0p0 (2023-12-25 revision 5124f9ac7513eb590c37717337c430cb93caa151) [x86_64-linux]
Full Path /home/flavorjones/.rbenv/versions/3.3.0/bin/ruby
Config Dir /home/flavorjones/.rbenv/versions/3.3.0/etc
RubyGems 3.5.9
Gem Home /home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0
Gem Path /home/flavorjones/.gem/ruby/3.3.0:/home/flavorjones/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0
User Home /home/flavorjones
User Path /home/flavorjones/.gem/ruby/3.3.0
Bin Dir /home/flavorjones/.rbenv/versions/3.3.0/bin
Tools
Git 2.40.1
RVM not installed
rbenv rbenv 1.2.0-87-ge8b7a27e
chruby not installed
Bundler Build Metadata
Built At 2024-04-12
Git SHA 4304697e0c
Released Version true
Bundler settings
cache_all
Set for your local app (/home/flavorjones/tmp/bundler-circular-require/.bundle/config): false
gem.changelog
Set for the current user (/home/flavorjones/.bundle/config): true
gem.ci
Set for the current user (/home/flavorjones/.bundle/config): "github"
gem.linter
Set for the current user (/home/flavorjones/.bundle/config): "standard"
gem.test
Set for the current user (/home/flavorjones/.bundle/config): "minitest"
jobs
Set for the current user (/home/flavorjones/.bundle/config): 4
Thanks for the nice repro and bisection @flavorjones. Fixing this at #7612. To avoid the warning, a RubyGems upgrade will be needed, I think that's fine?
Describe the problem as clearly as you can
Starting with commit bbe4da0 (bundler v2.5.8), I see warnings emitted when using a bundler cache and requiring "rubygems".
For example, when running tests in the
sparklemotion/sqlite3-ruby
repository with bundler 2.5.8 or later:I don't see this warning if I use an earlier version of bundler or if I delete the
vendor/
directory which stores the cache.Did you try upgrading rubygems & bundler?
Yes, this issue is present in 2.5.8 and 2.5.9 (but not in earlier versions). I've bisected the behavior to bbe4da0.
Post steps to reproduce the problem
Start with an empty directory. Create a Gemfile:
bundle install
bundle exec ruby -w -e "require 'rubygems'"
bundle package
bundle exec ruby -w -e "require 'rubygems'"
On my system, the warning messages I see in this scenario are:
If not included with the output of your command, run
bundle env
and paste the output belowEnvironment
Bundler Build Metadata
Bundler settings
Gemfile
Gemfile
Gemfile.lock
The text was updated successfully, but these errors were encountered: