ARGV#kegs: using installed_prefix to locate keg
This commit is contained in:
parent
f811a45fe4
commit
7e14ec0ba6
@ -49,7 +49,7 @@ module HomebrewArgvExtension
|
||||
require "keg"
|
||||
require "formula"
|
||||
@kegs ||= downcased_unique_named.collect do |name|
|
||||
rack = Formulary.to_rack(name)
|
||||
rack = Formulary.to_rack(name.downcase)
|
||||
|
||||
dirs = rack.directory? ? rack.subdirs : []
|
||||
|
||||
@ -65,11 +65,19 @@ module HomebrewArgvExtension
|
||||
Keg.new(linked_keg_ref.resolved_path)
|
||||
elsif dirs.length == 1
|
||||
Keg.new(dirs.first)
|
||||
elsif (prefix = (name.include?("/") ? Formulary.factory(name) : Formulary.from_rack(rack)).prefix).directory?
|
||||
else
|
||||
f = if name.include?("/") || File.exist?(name)
|
||||
Formulary.factory(name)
|
||||
else
|
||||
Formulary.from_rack(rack)
|
||||
end
|
||||
|
||||
if (prefix = f.installed_prefix).directory?
|
||||
Keg.new(prefix)
|
||||
else
|
||||
raise MultipleVersionsInstalledError.new(rack.basename)
|
||||
end
|
||||
end
|
||||
rescue FormulaUnavailableError
|
||||
raise <<-EOS.undent
|
||||
Multiple kegs installed to #{rack}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user