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

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

Open
ntl opened this issue Mar 29, 2024 · 0 comments
Labels

Comments

@ntl
Copy link
Contributor

ntl commented Mar 29, 2024

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

@ntl ntl added the Bundler label Mar 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant