diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-03-07 11:06:40 -0600 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-03-14 15:25:18 -0500 |
commit | a0c3bd2bb746e9691f90ed58779fb6de8d43922f (patch) | |
tree | eece81a750aed967d2bb4c17af6a4cf24d98ab0b | |
parent | ea9e14a7c78238721393aa8c5ca0715722f123e4 (diff) | |
download | bundler-a0c3bd2bb746e9691f90ed58779fb6de8d43922f.tar.gz |
[CLI] Only reset paths if we’ve set a custom gemfile
-rw-r--r-- | lib/bundler.rb | 10 | ||||
-rw-r--r-- | lib/bundler/cli.rb | 5 |
2 files changed, 12 insertions, 3 deletions
diff --git a/lib/bundler.rb b/lib/bundler.rb index 914bdb3762..63a9f5784c 100644 --- a/lib/bundler.rb +++ b/lib/bundler.rb @@ -442,6 +442,12 @@ EOF end def reset! + reset_paths! + Plugin.reset! + reset_rubygems! + end + + def reset_paths! @root = nil @settings = nil @definition = nil @@ -451,9 +457,9 @@ EOF @bundle_path = nil @bin_path = nil @user_home = nil + end - Plugin.reset! - + def reset_rubygems! return unless defined?(@rubygems) && @rubygems rubygems.undo_replacements rubygems.reset diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb index 6d657c05cb..78ce355ff5 100644 --- a/lib/bundler/cli.rb +++ b/lib/bundler/cli.rb @@ -25,7 +25,10 @@ module Bundler super custom_gemfile = options[:gemfile] || Bundler.settings[:gemfile] - ENV["BUNDLE_GEMFILE"] = File.expand_path(custom_gemfile) if custom_gemfile && !custom_gemfile.empty? + if custom_gemfile && !custom_gemfile.empty? + ENV["BUNDLE_GEMFILE"] = File.expand_path(custom_gemfile) + Bundler.reset_paths! + end Bundler.settings[:retry] = options[:retry] if options[:retry] |