diff options
| author | Xu Cheng | 2016-07-16 21:05:28 +0800 |
|---|---|---|
| committer | Xu Cheng | 2016-07-17 02:23:37 +0800 |
| commit | 7e14ec0ba67d681d1fe61d508bf9dd5aee531696 (patch) | |
| tree | a6e641212549a92972b3df8617f5c9fa2bd63558 /Library/Homebrew/extend | |
| parent | f811a45fe4e4c532a5c2d8f1a5a4a4762d87d583 (diff) | |
| download | brew-7e14ec0ba67d681d1fe61d508bf9dd5aee531696.tar.bz2 | |
ARGV#kegs: using installed_prefix to locate keg
Diffstat (limited to 'Library/Homebrew/extend')
| -rw-r--r-- | Library/Homebrew/extend/ARGV.rb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index 934db177b..0f19c6157 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -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,10 +65,18 @@ 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? - Keg.new(prefix) else - raise MultipleVersionsInstalledError.new(rack.basename) + 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 |
