summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-07-07 17:39:01 -0500
committerSamuel Giddins <segiddins@segiddins.me>2017-07-07 17:39:01 -0500
commit1b66e57dba91b22fabc3e8d6173030ac6e1c26ed (patch)
treed9482655059c71219368805e53c26a5e8c0fac83
parent59190fa216210b9f236128b58dea8fd4e45f3be8 (diff)
downloadbundler-seg-corrupted-lockfile-show-tree.tar.gz
[ParallelInstaller] Show require tree when a gem fails to install due to corrupted lockfileseg-corrupted-lockfile-show-tree
-rw-r--r--lib/bundler/installer/parallel_installer.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/bundler/installer/parallel_installer.rb b/lib/bundler/installer/parallel_installer.rb
index 97c124e015..22bc8c51c6 100644
--- a/lib/bundler/installer/parallel_installer.rb
+++ b/lib/bundler/installer/parallel_installer.rb
@@ -112,7 +112,12 @@ module Bundler
gem_installer = Bundler::GemInstaller.new(
spec_install.spec, @installer, @standalone, worker_num, @force
)
- success, message = gem_installer.install_from_spec
+ success, message = begin
+ gem_installer.install_from_spec
+ rescue => e
+ raise e, "#{e}\n\n#{require_tree_for_spec(spec_install.spec)}"
+ end
+
if success && !message.nil?
spec_install.post_install_message = message
elsif !success