Skip to content

Standalone bundle's setup.rb should implement Gem.try_activate to avoid breaking binding.irb #7545

Description

@ntl

Describe the problem as clearly as you can

I set --disable-gems in my RUBYOPT variable.

binding.irb causes a call to Gem.try_activate whenever the Gem constant is defined.

Standalone bundles include a bundler/setup.rb file, which defines the Gem constant even when Rubygems isn't required.

Thus, for me, binding.irb doesn't work with standalone bundles.

Did you try upgrading rubygems & bundler?

No, because I can see that Bundler's implementation is still incorrect: https://github.com/rubygems/rubygems/blob/master/bundler/lib/bundler/installer/standalone.rb#L79-L97

Post steps to reproduce the problem

  • export RUBYOPT=--disable-gems
  • Install a standalone bundle
  • After requiring bundler/setup from the standalone bundle, add a binding.irb statement
  • Observe the undefined method error on Gem.try_activate

Which command did you run?

bundle install --standalone

What were you expecting to happen?

binding.irb to work

What actually happened?

binding.irb didn't work

If not included with the output of your command, run bundle env and paste the output below

Not sure how to do this

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions