Bug #19886
closed"default->bundled gem" warning is not shown under "bundle exec"
Description
$ cat Gemfile
source "https://rubygems.org"
$ cat test.rb
require "base64"
$ bundle exec ruby test.rb
$
In this situation, bundle exec ruby test.rb
should print a warning: base64 which will be not part of the default gems since Ruby 3.4.0.
Note that ruby test.rb
shows the warning, which is not needed (see #19885).
$ ruby test.rb
test.rb:1: warning: base64 which will be not part of the default gems since Ruby 3.4.0
Updated by hsbt (Hiroshi SHIBATA) over 1 year ago
Thank you for reporting this.
I confirmed it. It caused bundle exec ruby
couldn't call Bundler.setup
.
It's working with that.
$ cat test.rb
#!/usr/bin/env ruby
require "base64"
$ bundle exec test.rb
test.rb:3: warning: base64 will be not part of the default gems since Ruby 3.4.0. Add base64 to your Gemfile. Also contact author of to add base64 into its gemspec.
bundle exec
will call Bundler.setup
only script that has ruby shebang.
I'm considering how call Bundler.setup
via bundle exec ruby
.
Updated by hsbt (Hiroshi SHIBATA) over 1 year ago
- Status changed from Assigned to Closed
I investigate this again.
bundle exec ruby
called Bundler.setup
. But Gem::BUNDLED_GEMS
is not loaded because bundle exec ruby
ignore to load gem_prelude.rb
. I'm not sure why bundle exec t.rb
is load gem_prelude.rb
yet.
This is fixed by https://github.com/rubygems/rubygems/pull/7224.