2009-06-27 95 views
4

好的,我剛剛花了4個小時試圖找出沒有成功這一個。我已經嘗試了所有常見的嫌疑,並搜索了Ruby 1.9.1,加載路徑,寶石,mac os x,freebsd,prawn和其他東西的各種組合。底線是這樣的:紅寶石1.9.1加載路徑瘋狂

當我在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 
. 
當我安裝大蝦

寶石,比如,我得到:

 
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" 

當然,這是完全荒謬的。所以問題是如何讓Ruby 1.9.1識別並遵循正確的寶石路徑?我從來沒有在1.8.7版本中遇到這個問題,所以我假設它是1.9.1。我覺得我錯過了一些完全明顯的東西,任何幫助將非常感謝!

+1

作爲此問題的更新,[RVM](http://rvm.beginrescueend.com)正在迅速成爲最受歡迎的安裝方式許多開發人員在Mac OS和Linux上增加了Rubies。在安裝RVM之前,滾動到該頁面的底部並閱讀「安裝」和「Ruby Gems」頁面。安裝完成後,使用`rvm notes`來找出你需要的依賴關係。 – 2011-03-19 21:10:58

回答

9

設置GEM_PATH =的/ usr /本地/ LIB /紅寶石/寶石/ 1.9.1

解決了這個問題。我知道這很簡單。只是加重了我,它花了全天計算出來!這是因爲從來沒有1.8.7這個問題,當然不是RTFM!

+0

很高興你解決了它! – 2009-06-28 02:52:09

1
require 'rubygems' 
require 'prawn' 

除非事情在1.9中改變了,你不再需要首先要求rubygems。

+1

紅寶石1。9不再需要(雙關語)rubygems,但只是爲了徹底我嘗試,以及沒有成功 – ennuikiller 2009-06-28 01:54:16

3

kubuntu karmic上的同樣的問題。

安裝:

$ sudo apt-get install build-essential ruby1.9.1-full libsqlite3 libsqlite3-dev rubygems1.9 
$ sudo gem install sqlite3-ruby rails thin --no-rdoc --no-ri 

結果:

$ ruby -e "require 'rubygems'; require 'sqlite3'" 
-e:1:in `require': no such file to load -- sqlite3 (LoadError) 
     from -e:1:in `<main>' 

解決方案:

$ export GEM_PATH=/usr/lib/ruby1.9.1/gems/1.9.1/ 
0

我正在尋找一個不同的答案同樣的問題。在某些情況下(即系統啓動任務),在ruby運行之前設置環境變量是不可能的。

運行ruby(v> = 1.9.1)代碼是否需要gem?沒有設置GEM_PATH?

+0

正如原始問題中所述,您可以將所需的gem路徑推送到$: – ennuikiller 2010-09-22 12:38:40

1

下一次您遇到這樣的問題時,請不要忘記從命令行運行gem env。這是在Windows上發生的情況,但原理大致相同:

C:\Documents and Settings\a.grimm>gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.5 
    - RUBY VERSION: 1.9.1 (2010-01-10 patchlevel 378) [i386-mingw32] 
    - INSTALLATION DIRECTORY: C:/Ruby19/lib/ruby/gems/1.9.1 
    - RUBY EXECUTABLE: C:/Ruby19/bin/ruby.exe 
    - EXECUTABLE DIRECTORY: C:/Ruby19/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-mingw32 
    - GEM PATHS: 
    - C:/Ruby19/lib/ruby/gems/1.9.1 
    - C:/Documents and Settings/a.grimm/.gem/ruby/1.9.1 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://gems.rubyforge.org/