Actions
Bug #21323
openirb fails to start with Namespace
Status:
Open
Assignee:
-
Target version:
-
ruby -v:
ruby 3.5.0dev (2025-05-10T07:50:29Z namespace-on-read-.. bd4f57f96b) +PRISM [x86_64-linux]
Description
$ irb
irb(main):001> 6 * 7
=> 42
$ RUBY_NAMESPACE=1 irb
/home/eregon/prefix/ruby-master/bin/ruby: warning: Namespace is experimental, and the behavior may change in the future!
See doc/namespace.md for know issues, etc.
/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/did_you_mean/core_ext/name_error.rb:11: warning: irb is not part of the default gems since Ruby 3.5.0. Install irb from RubyGems.
/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/did_you_mean/core_ext/name_error.rb:11: warning: irb is not part of the default gems since Ruby 3.5.0. Install irb from RubyGems.
<internal:/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:141:in 'Kernel#require': cannot load such file -- irb (LoadError)
Did you mean? erb
from <internal:/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:141:in 'Kernel#require'
from /home/eregon/prefix/ruby-master/lib/ruby/gems/3.5.0+0/gems/irb-1.15.2/exe/irb:7:in 'Namespace::Loader#require'
from /home/eregon/prefix/ruby-master/lib/ruby/gems/3.5.0+0/gems/irb-1.15.2/exe/irb:7:in '<top (required)>'
from /home/eregon/.rubies/ruby-master/bin/irb:25:in 'Kernel#load'
from /home/eregon/.rubies/ruby-master/bin/irb:25:in 'Namespace::Loader#load'
from /home/eregon/.rubies/ruby-master/bin/irb:25:in '<main>'
<internal:/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require': cannot load such file -- irb (LoadError)
Did you mean? erb
from <internal:/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
from /home/eregon/prefix/ruby-master/lib/ruby/gems/3.5.0+0/gems/irb-1.15.2/exe/irb:7:in 'Namespace::Loader#require'
from /home/eregon/prefix/ruby-master/lib/ruby/gems/3.5.0+0/gems/irb-1.15.2/exe/irb:7:in '<top (required)>'
from /home/eregon/.rubies/ruby-master/bin/irb:25:in 'Kernel#load'
from /home/eregon/.rubies/ruby-master/bin/irb:25:in 'Namespace::Loader#load'
from /home/eregon/.rubies/ruby-master/bin/irb:25:in '<main>'
zsh: exit 1 RUBY_NAMESPACE=1 irb
Updated by Eregon (Benoit Daloze) 21 days ago
Looks somewhat similar, benchmark
loads fine in main namespace but not in other namespace:
$ RUBY_NAMESPACE=1 ruby -ve 'require "benchmark"; p Benchmark::VERSION; ns = Namespace.new; File.write "ns.rb", "require :benchmark.to_s; p Benchmark::VERSION"; ns.require "./ns"'
ruby 3.5.0dev (2025-05-10T07:50:29Z namespace-on-read-.. bd4f57f96b) +PRISM [x86_64-linux]
ruby: warning: Namespace is experimental, and the behavior may change in the future!
See doc/namespace.md for know issues, etc.
"0.4.0"
/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/did_you_mean/core_ext/name_error.rb:11: warning: benchmark is not part of the default gems since Ruby 3.5.0. Install benchmark from RubyGems.
/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/did_you_mean/core_ext/name_error.rb:11: warning: benchmark is not part of the default gems since Ruby 3.5.0. Install benchmark from RubyGems.
<internal:/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:141:in 'Kernel#require': cannot load such file -- benchmark (LoadError)
from <internal:/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:141:in 'Kernel#require'
from /home/eregon/ns.rb:1:in 'Namespace::Loader#require'
from /home/eregon/ns.rb:1:in '<top (required)>'
from -e:1:in 'Namespace#require'
from -e:1:in '<main>'
<internal:/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require': cannot load such file -- benchmark (LoadError)
from <internal:/home/eregon/prefix/ruby-master/lib/ruby/3.5.0+0/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
from /home/eregon/ns.rb:1:in 'Namespace::Loader#require'
from /home/eregon/ns.rb:1:in '<top (required)>'
from -e:1:in 'Namespace#require'
from -e:1:in '<main>'
Updated by Eregon (Benoit Daloze) 21 days ago
- Related to Bug #21324: Namespace loads RubyGems in root Namespace but it should not added
Updated by retro (Josef Šimánek) 8 days ago
Have this been fixed already?
[retro@retro2 ~]❤ ruby -v
ruby 3.5.0dev (2025-05-23T23:31:28Z master 87d340f0e1) +PRISM [x86_64-linux]
[retro@retro2 ~]❤ RUBY_NAMESPACE=1 irb
/home/retro/.rubies/ruby-master/bin/ruby: warning: Namespace is experimental, and the behavior may change in the future!
See doc/namespace.md for known issues, etc.
irb(main):001> n = Namespace.new
=> #<Namespace:3,user,optional>
Actions
Like0
Like1Like0Like0