在試圖解決Gem found in irb, not in Ruby,我試着看到了我自己安裝什麼樣的影響require 'rubygems'
:要求rubygems如何幫助找到rubygem文件?
$ irb
irb(main):001:0> RUBY_VERSION
=> "1.8.7"
irb(main):002:0> $:
["/usr/local/lib/site_ruby/1.8", "/usr/local/lib/site_ruby/1.8/x86_64-linux", "/usr/local/lib/site_ruby", "/usr/lib/ruby/vendor_ruby/1.8", "/usr/lib/ruby/vendor_ruby/1.8/x86_64-linux", "/usr/lib/ruby/vendor_ruby", "/usr/lib/ruby/1.8", "/usr/lib/ruby/1.8/x86_64-linux", "."]
=> nil
irb(main):003:0> require "rubygems" # Hasn't been required already
=> true
irb(main):004:0> require "rubygems" # Will return false, because it's already been required
=> false
irb(main):005:0> $: # Same as before
=> ["/usr/local/lib/site_ruby/1.8", "/usr/local/lib/site_ruby/1.8/x86_64-linux", "/usr/local/lib/site_ruby", "/usr/lib/ruby/vendor_ruby/1.8", "/usr/lib/ruby/vendor_ruby/1.8/x86_64-linux", "/usr/lib/ruby/vendor_ruby", "/usr/lib/ruby/1.8", "/usr/lib/ruby/1.8/x86_64-linux", "."]
如果requring RubyGems的不修改$:
,那麼它是如何幫助查找文件?它是否monkeypatch require
?如果是這樣,它使用什麼變量來查找rubygem安裝的庫?
你知道它使用什麼樣的變量:
所以,當你需要一個寶石負載路徑僅改變了嗎? – 2011-05-31 08:34:39
@Andrew'Gem.path'可能就是你要找的東西。 – matt 2011-05-31 14:43:43