summaryrefslogtreecommitdiff
path: root/libexec/bundle
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/bundle')
-rwxr-xr-xlibexec/bundle21
1 files changed, 16 insertions, 5 deletions
diff --git a/libexec/bundle b/libexec/bundle
index 90c62627f8..73a6397e77 100755
--- a/libexec/bundle
+++ b/libexec/bundle
@@ -10,12 +10,15 @@ end
base_path = File.expand_path("../lib", __dir__)
if File.exist?(base_path)
- $LOAD_PATH.unshift(base_path)
+ require_relative "../lib/bundler"
+else
+ require "bundler"
end
-require "bundler"
+# Workaround for non-activated bundler spec due to missing https://github.com/rubygems/rubygems/commit/4e306d7bcdee924b8d80ca9db6125aa59ee4e5a3
+gem "bundler", Bundler::VERSION if Gem.rubygems_version < Gem::Version.new("2.6.2")
-if Gem.rubygems_version < Gem::Version.new("3.2.3") && Gem.ruby_version < Gem::Version.new("2.7.a") && !ENV["BUNDLER_NO_OLD_RUBYGEMS_WARNING"]
+if Gem.rubygems_version < Gem::Version.new("3.2.3") && Gem.ruby_version < Gem::Version.new("2.6.a") && !ENV["BUNDLER_NO_OLD_RUBYGEMS_WARNING"]
Bundler.ui.warn \
"Your RubyGems version (#{Gem::VERSION}) has a bug that prevents " \
"`required_ruby_version` from working for Bundler. Any scripts that use " \
@@ -24,10 +27,18 @@ if Gem.rubygems_version < Gem::Version.new("3.2.3") && Gem.ruby_version < Gem::V
"and silence this warning by running `gem update --system 3.2.3`"
end
-require "bundler/friendly_errors"
+if File.exist?(base_path)
+ require_relative "../lib/bundler/friendly_errors"
+else
+ require "bundler/friendly_errors"
+end
Bundler.with_friendly_errors do
- require "bundler/cli"
+ if File.exist?(base_path)
+ require_relative "../lib/bundler/cli"
+ else
+ require "bundler/cli"
+ end
# Allow any command to use --help flag to show help for that command
help_flags = %w[--help -h]