diff options
Diffstat (limited to 'lib/rubygems/defaults.rb')
-rw-r--r-- | lib/rubygems/defaults.rb | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb index 6924f48e5a..55ca080c96 100644 --- a/lib/rubygems/defaults.rb +++ b/lib/rubygems/defaults.rb @@ -89,11 +89,11 @@ module Gem # Default gem load path def self.default_path - if Gem.user_home && File.exist?(Gem.user_home) then - [user_dir, default_dir] - else - [default_dir] - end + path = [] + path << user_dir if user_home && File.exist?(user_home) + path << default_dir + path << vendor_dir if vendor_dir and File.directory? vendor_dir + path end ## @@ -160,4 +160,18 @@ module Gem true end + ## + # Directory where vendor gems are installed. + + def self.vendor_dir # :nodoc: + if vendor_dir = ENV['GEM_VENDOR'] then + return vendor_dir.dup + end + + return nil unless RbConfig::CONFIG.key? 'vendordir' + + File.join RbConfig::CONFIG['vendordir'], 'gems', + RbConfig::CONFIG['ruby_version'] + end + end |