Ruby 1.9.1加载路径疯狂

enn*_*ler 4 ruby rubygems prawn

好吧,我刚刚花了4个小时试图找出这个没有成功.我已经尝试了所有常见的嫌疑人,并搜索了ruby 1.9.1,加载路径,宝石,mac os x,freebsd,prawn等内容的每个组合.底线是这个:

当我从mac os x 10.5上的源代码编译ruby1.9.1-p129时,我得到的默认加载路径($ :)是:

ruby -e "puts $:"
/usr/local/lib/ruby/gems
/usr/local/lib/ruby/site_ruby/1.9.1
/usr/local/lib/ruby/site_ruby/1.9.1/i386-darwin9.7.0
/usr/local/lib/ruby/site_ruby
/usr/local/lib/ruby/vendor_ruby/1.9.1
/usr/local/lib/ruby/vendor_ruby/1.9.1/i386-darwin9.7.0
/usr/local/lib/ruby/vendor_ruby
/usr/local/lib/ruby/1.9.1
/usr/local/lib/ruby/1.9.1/i386-darwin9.7.0
.

例如,当我安装prawn gem时,我得到:

gem which prawn
(checking gem prawn-0.5.0.1 for prawn)
/prawn.rb

当我试图要求它时,我得到:

ruby -e "require 'prawn'"
-e:1:in `require': no such file to load -- prawn (LoadError)
    from -e:1:in `'

我能够解决这个问题的唯一方法是做一些像这样的傻事:

$: << "/usr/local/lib/ruby/gems/1.9.1/gems/prawn-0.5.0.1/lib"
Run Code Online (Sandbox Code Playgroud)

当然,这完全是荒谬的.所以问题是如何让ruby 1.9.1识别并遵循正确的宝石路径?我从来没有遇到1.8.7这个问题,所以我假设它具体为1.9.1.我觉得我错过了一些完全明显的东西,任何帮助都会非常感激!

enn*_*ler 9

设置GEM_PATH =/usr/local/lib/ruby​​/gems/1.9.1

解决了这个问题.我知道这很简单.只是让我觉得它花了一整天才搞清楚!这是由于1.8.7从未出现过这个问题,当然不是RTFM !!