diff options
Diffstat (limited to 'lib/bundler/setup.rb')
-rw-r--r-- | lib/bundler/setup.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/bundler/setup.rb b/lib/bundler/setup.rb index 27911dc1ad..7131d15055 100644 --- a/lib/bundler/setup.rb +++ b/lib/bundler/setup.rb @@ -9,10 +9,16 @@ if Bundler::SharedHelpers.in_bundle? begin Bundler.ui.silence { Bundler.setup } rescue Bundler::BundlerError => e - Bundler.ui.warn "\e[31m#{e.message}\e[0m" + Bundler.ui.error e.message Bundler.ui.warn e.backtrace.join("\n") if ENV["DEBUG"] if e.is_a?(Bundler::GemNotFound) - Bundler.ui.warn "\e[33mRun `bundle install` to install missing gems.\e[0m" + default_bundle = Gem.bin_path("bundler", "bundle") + current_bundle = Bundler::SharedHelpers.bundle_bin_path + suggested_bundle = default_bundle == current_bundle ? "bundle" : current_bundle + suggested_cmd = "#{suggested_bundle} install" + original_gemfile = Bundler.original_env["BUNDLE_GEMFILE"] + suggested_cmd += " --gemfile #{original_gemfile}" if original_gemfile + Bundler.ui.warn "Run `#{suggested_cmd}` to install missing gems." end exit e.status_code end |