Project

General

Profile

Actions

Bug #21323

closed

irb fails to start with Namespace

Bug #21323: irb fails to start with Namespace

Added by Eregon (Benoit Daloze) 6 months ago. Updated 5 months ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.5.0dev (2025-05-10T07:50:29Z namespace-on-read-.. bd4f57f96b) +PRISM [x86_64-linux]
[ruby-core:121982]

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 

Related issues 1 (1 open0 closed)

Updated by Eregon (Benoit Daloze) 6 months ago Actions #1 [ruby-core:121987]

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) 6 months ago Actions #2

  • Related to Bug #21324: Namespace loads RubyGems in root Namespace but it should not added

Updated by retro (Josef Šimánek) 6 months ago Actions #3 [ruby-core:122266]

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> 

Updated by hsbt (Hiroshi SHIBATA) 6 months ago Actions #4

  • Tags set to namespace

Updated by Eregon (Benoit Daloze) 5 months ago Actions #5 [ruby-core:122439]

  • Status changed from Open to Closed

Right, this seems fixed on master.
Would be interesting to know what was the fix.

Actions

Also available in: PDF Atom