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
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
Keg.new(prefix)

View File

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

View File

@ -3,9 +3,19 @@
require "exceptions"
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
describe NoSuchKegError do