Commit 72db816
committed
bundler/inline: perform installation from a forked child
Unless of course fork isn't available.
Alternate: #7930, #7933
Fix: #7930, #7933
When bundler inline has to install gems, it loads more dependencies than when it
goes through the fast path of all gems being installed.
One of them is `securerandom` so if trying to use bundler/inline with a gem that
have a dependency on securerandom that don't match the default version, the script
fails with `Gem::LoadError`.
This can be preproduced on Ruby 3.2.x, after making sure to `gem uninstall securerandom`
so only the default gem remains, and then running the following script:
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'activesupport', '7.2.0' # depends on securerandom >= 0.3
end
require 'securerandom'
```1 parent 633c1bf commit 72db816
1 file changed
+18
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
61 | 63 | | |
62 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
63 | 77 | | |
64 | 78 | | |
65 | 79 | | |
| |||
0 commit comments