Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cannot load such file -- irb (LoadError) #838

Open
AlexanderZagaynov opened this issue Oct 31, 2022 · 0 comments
Open

cannot load such file -- irb (LoadError) #838

AlexanderZagaynov opened this issue Oct 31, 2022 · 0 comments

Comments

@AlexanderZagaynov
Copy link

Problem description

CentOS Stream 9 doesn't install irb gem together with ruby package, which leads to the impossibility to run rails console commands, even if I prefer to use pry with byebug.

Workarounds:

  • Install rubygem-irb system package. Drawbacks: it installs the old irb version, which spams console with warnings a lot.
  • Include latest irb gem in the Gemfile. Drawbacks: one more useless dependency to keep in mind.

Expected behavior

rails console should open pry console without errors and warnings. Other commands, such as rails generate should work too.

Actual behavior

Without any irb

$ bin/rails generate --help
/usr/share/gems/gems/byebug-11.1.3/lib/byebug/commands/irb.rb:4:in `require': cannot load such file -- irb (LoadError)
Did you mean?  erb
               drb
        from /usr/share/gems/gems/byebug-11.1.3/lib/byebug/commands/irb.rb:4:in `<top (required)>'
        from /usr/share/gems/gems/byebug-11.1.3/lib/byebug/commands.rb:20:in `require_relative'
        from /usr/share/gems/gems/byebug-11.1.3/lib/byebug/commands.rb:20:in `<top (required)>'
        from /usr/share/gems/gems/byebug-11.1.3/lib/byebug/core.rb:10:in `require_relative'
        from /usr/share/gems/gems/byebug-11.1.3/lib/byebug/core.rb:10:in `<top (required)>'
        from /usr/share/gems/gems/pry-byebug-3.10.1/lib/byebug/processors/pry_processor.rb:3:in `require'
        from /usr/share/gems/gems/pry-byebug-3.10.1/lib/byebug/processors/pry_processor.rb:3:in `<top (required)>'
        from /usr/share/gems/gems/pry-byebug-3.10.1/lib/pry-byebug/pry_ext.rb:3:in `require'
        from /usr/share/gems/gems/pry-byebug-3.10.1/lib/pry-byebug/pry_ext.rb:3:in `<top (required)>'
        from /usr/share/gems/gems/pry-byebug-3.10.1/lib/pry-byebug/cli.rb:4:in `require'
        from /usr/share/gems/gems/pry-byebug-3.10.1/lib/pry-byebug/cli.rb:4:in `<top (required)>'
        from /usr/share/gems/gems/pry-byebug-3.10.1/lib/pry-byebug.rb:4:in `require'
        from /usr/share/gems/gems/pry-byebug-3.10.1/lib/pry-byebug.rb:4:in `<top (required)>'
        from /usr/local/share/ruby/site_ruby/bundler/runtime.rb:60:in `require'
        from /usr/local/share/ruby/site_ruby/bundler/runtime.rb:60:in `block (2 levels) in require'
        from /usr/local/share/ruby/site_ruby/bundler/runtime.rb:55:in `each'
        from /usr/local/share/ruby/site_ruby/bundler/runtime.rb:55:in `block in require'
        from /usr/local/share/ruby/site_ruby/bundler/runtime.rb:44:in `each'
        from /usr/local/share/ruby/site_ruby/bundler/runtime.rb:44:in `require'
        from /usr/local/share/ruby/site_ruby/bundler.rb:186:in `require'
        from /home/zalex/work/junkyard_app/config/application.rb:19:in `<top (required)>'
        from /usr/share/gems/gems/railties-7.0.4/lib/rails/command/actions.rb:22:in `require'
        from /usr/share/gems/gems/railties-7.0.4/lib/rails/command/actions.rb:22:in `require_application!'
        from /usr/share/gems/gems/railties-7.0.4/lib/rails/command/actions.rb:14:in `require_application_and_environment!'
        from /usr/share/gems/gems/railties-7.0.4/lib/rails/commands/generate/generate_command.rb:10:in `help'
        from /usr/share/gems/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
        from /usr/share/gems/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
        from /usr/share/gems/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
        from /usr/share/gems/gems/railties-7.0.4/lib/rails/command/base.rb:87:in `perform'
        from /usr/share/gems/gems/railties-7.0.4/lib/rails/command.rb:48:in `invoke'
        from /usr/share/gems/gems/railties-7.0.4/lib/rails/commands.rb:18:in `<top (required)>'
        from bin/rails:4:in `require'
        from bin/rails:4:in `<main>'

With rubygem-irb-1.3.5-160.el9.noarch system package installed:

$ bin/rails console
/usr/share/ruby/irb/ruby-lex.rb:123: warning: already initialized constant RubyLex::ERROR_TOKENS
/usr/share/gems/gems/irb-1.3.5/lib/irb/ruby-lex.rb:123: warning: previous definition of ERROR_TOKENS was here
/usr/share/ruby/irb/completion.rb:18: warning: already initialized constant IRB::InputCompletor::ReservedWords
/usr/share/gems/gems/irb-1.3.5/lib/irb/completion.rb:18: warning: previous definition of ReservedWords was here
/usr/share/ruby/irb/completion.rb:39: warning: already initialized constant IRB::InputCompletor::BASIC_WORD_BREAK_CHARACTERS
/usr/share/gems/gems/irb-1.3.5/lib/irb/completion.rb:39: warning: previous definition of BASIC_WORD_BREAK_CHARACTERS was here
/usr/share/ruby/irb/completion.rb:59: warning: already initialized constant IRB::InputCompletor::CompletionRequireProc
/usr/share/gems/gems/irb-1.3.5/lib/irb/completion.rb:59: warning: previous definition of CompletionRequireProc was here
/usr/share/ruby/irb/completion.rb:94: warning: already initialized constant IRB::InputCompletor::CompletionProc
/usr/share/gems/gems/irb-1.3.5/lib/irb/completion.rb:94: warning: previous definition of CompletionProc was here
/usr/share/ruby/irb/completion.rb:329: warning: already initialized constant IRB::InputCompletor::PerfectMatchedProc
/usr/share/gems/gems/irb-1.3.5/lib/irb/completion.rb:329: warning: previous definition of PerfectMatchedProc was here
/usr/share/ruby/irb/completion.rb:364: warning: already initialized constant IRB::InputCompletor::Operators
/usr/share/gems/gems/irb-1.3.5/lib/irb/completion.rb:364: warning: previous definition of Operators was here
Loading development environment (Rails 7.0.4)
[1] pry(main)>

Steps to reproduce the problem

  • CentOS Stream 9
  • system Ruby v. 3.0.4
  • Rails v. 7.0.4
  • Pry-Byebug v. 3.10.1
  • Pry-Rails v. 0.3.9
  • Byebug v. 11.1.3
  • Pry v. 0.14.1

More details (bundle env & cat /etc/os-release) here:
https://gist.github.com/AlexanderZagaynov/39b71c0e25e4a59b0fe23b6a2425fbf3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant