Merge pull request #8670 from mistydemeo/fix_multiple_version_messaging

Fix printing MultipleVersionsInstalledError details
This commit is contained in:
Misty De Meo 2020-09-09 12:30:31 -07:00 committed by GitHub
commit 6474e651a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 4 deletions

View File

@ -164,7 +164,10 @@ module Homebrew
end end
unless (prefix = f.latest_installed_prefix).directory? unless (prefix = f.latest_installed_prefix).directory?
raise MultipleVersionsInstalledError, "#{rack.basename} has multiple installed versions" raise MultipleVersionsInstalledError, <<~EOS
#{rack.basename} has multiple installed versions
Run `brew uninstall --force #{rack.basename}` to remove all versions.
EOS
end end
Keg.new(prefix) Keg.new(prefix)

View File

@ -134,7 +134,6 @@ module Homebrew
) )
rescue MultipleVersionsInstalledError => e rescue MultipleVersionsInstalledError => e
ofail e ofail e
puts "Run `brew uninstall --force #{e.name}` to remove all versions."
ensure ensure
# If we delete Cellar/newname, then Cellar/oldname symlink # If we delete Cellar/newname, then Cellar/oldname symlink
# can become broken and we have to remove it. # can become broken and we have to remove it.

View File

@ -3,9 +3,19 @@
require "exceptions" require "exceptions"
describe MultipleVersionsInstalledError do describe MultipleVersionsInstalledError do
subject { described_class.new("foo has multiple installed versions") } subject {
described_class.new <<~EOS
foo has multiple installed versions
Run `brew uninstall --force foo` to remove all versions.
EOS
}
its(:to_s) { is_expected.to eq("foo has multiple installed versions") } its(:to_s) {
is_expected.to eq <<~EOS
foo has multiple installed versions
Run `brew uninstall --force foo` to remove all versions.
EOS
}
end end
describe NoSuchKegError do describe NoSuchKegError do