Project

General

Profile

Actions

Bug #21323

closed

irb fails to start with Namespace

Added by Eregon (Benoit Daloze) about 1 month ago. Updated 4 days 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)

Related to Ruby - Bug #21324: Namespace loads RubyGems in root Namespace but it should notOpenActions

Updated by Eregon (Benoit Daloze) about 1 month 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>'
Actions #2

Updated by Eregon (Benoit Daloze) about 1 month ago

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

Updated by retro (Josef Šimánek) 17 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 #4

Updated by hsbt (Hiroshi SHIBATA) 6 days ago

  • Tags set to namespace

Updated by Eregon (Benoit Daloze) 4 days ago

  • 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: Atom PDF

Like0
Like1Like0Like0Like0Like0