diff options
| author | Mike McQuaid | 2015-01-05 19:14:55 +0000 |
|---|---|---|
| committer | Mike McQuaid | 2015-01-05 19:14:55 +0000 |
| commit | dc16371e19d1a8bae153f6f44620667c0f542e73 (patch) | |
| tree | e099d8b5eac68b1bf38b08154e88cc70def3ded8 /Library | |
| parent | 6fe0c3a83bb1a9f4b1a85e0c8092b0817d1360b2 (diff) | |
| download | brew-dc16371e19d1a8bae153f6f44620667c0f542e73.tar.bz2 | |
utils: install_gem_setup_path! now checks PATH.
Check the executable is present to give a better error message if it isn't.
Closes Homebrew/homebrew#35541.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/utils.rb | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 16b228432..d4d8288c6 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -120,12 +120,21 @@ module Homebrew HOMEBREW_REPOSITORY.cd { `git show -s --format="%cr" HEAD 2>/dev/null`.chuzzle } end - def self.install_gem_setup_path! gem + def self.install_gem_setup_path! gem, executable=gem require "rubygems" ENV["PATH"] = "#{Gem.user_dir}/bin:#{ENV["PATH"]}" - return if quiet_system "gem", "list", "--installed", gem - system "gem", "install", "--no-ri", "--no-rdoc", - "--user-install", gem + + unless quiet_system "gem", "list", "--installed", gem + safe_system "gem", "install", "--no-ri", "--no-rdoc", + "--user-install", gem + end + + unless which executable + odie <<-EOS.undent + The '#{gem}' gem is installed but couldn't find '#{executable}' in the PATH: + #{ENV["PATH"]} + EOS + end end end |
