diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index e9c2d7638b..c8847eb08c 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -561,18 +561,24 @@ class FormulaInstaller begin keg.link - rescue Exception => e + rescue Keg::LinkError => e onoe "The `brew link` step did not complete successfully" puts "The formula built, but is not symlinked into #{HOMEBREW_PREFIX}" - puts "You can try again using `brew link #{f.name}'" + puts "You can try again using:" + puts " brew link #{f.name}" puts puts "Possible conflicting files are:" mode = OpenStruct.new(:dry_run => true, :overwrite => true) keg.link(mode) - ohai e, e.backtrace if debug? @show_summary_heading = true - ignore_interrupts{ keg.unlink } - raise unless e.kind_of? RuntimeError + rescue Exception => e + onoe "An unexpected error occurred during the `brew link` step" + puts "The formula built, but is not symlinked into #{HOMEBREW_PREFIX}" + puts e + puts e.backtrace if debug? + @show_summary_heading = true + ignore_interrupts { keg.unlink } + raise end end