From b3c33d6d5172e6538f1e6388c09bf0cf437cf9c7 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 20 Feb 2019 12:29:31 +0000 Subject: [PATCH] brew.*: run Bundler immediately when needed. This is needed to avoid gem conflicts when `global.rb` is loaded for some commands. --- Library/Homebrew/brew.rb | 6 ++++++ Library/Homebrew/brew.sh | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index f7ca49a6ef..a80ca67e5c 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -8,6 +8,12 @@ if RUBY_X < 2 || (RUBY_X == 2 && RUBY_Y < 3) raise "Homebrew must be run under Ruby 2.3! You're running #{RUBY_VERSION}." end +# Load Bundler first of all if it's needed to avoid Gem version conflicts. +if ENV["HOMEBREW_INSTALL_BUNDLER_GEMS_FIRST"] + require_relative "utils/gems" + Homebrew.install_bundler_gems! +end + # Also define here so we can rescue regardless of location. class MissingEnvironmentVariables < RuntimeError; end diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh index 0a73e3b7b6..2cd1677a0e 100644 --- a/Library/Homebrew/brew.sh +++ b/Library/Homebrew/brew.sh @@ -309,6 +309,11 @@ then esac fi +if [[ "$HOMEBREW_COMMAND" = "audit" || "$HOMEBREW_COMMAND" = "style" ]] +then + export HOMEBREW_INSTALL_BUNDLER_GEMS_FIRST="1" +fi + # Set HOMEBREW_DEV_CMD_RUN for users who have run a development command. # This makes them behave like HOMEBREW_DEVELOPERs for brew update. if [[ -z "$HOMEBREW_DEVELOPER" ]]