2011-11-03 45 views
0

如何在Ruby中安裝不是寶石的庫?我想使用graphy在Ruby中安裝非寶石庫

在本例中使用,它說,require 'graphy',但即使我的紅寶石文件在同一目錄graphy.rb,我得到以下錯誤:

<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- graphy.rb (LoadError) 
from <internal:lib/rubygems/custom_require>:29:in `require' 
from foo.rb:1:in `<main>' 
+0

哦sheeeeet。這是一個很好的發現。斷去弄清楚如何使它工作! – iGbanam

回答

2

告訴紅寶石使用當前目錄看在-I標誌:

ruby -I. my_script.rb 

要看到紅寶石負載路徑,在腳本的頂部添加puts $:

+0

完美。謝謝! – paniwani

1

一切工作正常。我在下面粘貼了IRB。

Yasky$ cd Projects/ruby/bruce-graphy-70f213b/lib/ 
lib Yasky$ irb 
ruby-1.8.7-p352 :001 > require 'graphy' 
=> true 
ruby-1.8.7-p352 :002 > dg = Graphy::Digraph[1,2, 2,3, 2,4, 4,5, 6,4, 1,6] 
=> Graphy::DirectedGraph[Graphy::Arc[2,3,nil], Graphy::Arc[1,6,nil], Graphy::Arc[2,4,nil], Graphy::Arc[4,5,nil], Graphy::Arc[1,2,nil], Graphy::Arc[6,4,nil]] 
ruby-1.8.7-p352 :003 > exit 
lib Yasky$ 

顯式指定您的加載路徑中的當前目錄可能會有所訣竅。

編輯:哎呀,我已經來不及了(:

+0

謝謝!這似乎它不適用於Ruby 1.9.2,但是1.8.7可以做到這一點。 – paniwani

0

在這種特殊情況下,筆者使用的珠寶商來管理他的gemspec我不是那熟悉的珠寶商,但AFAIR,您生成和安裝一個寶石與rake install。您可能需要與rake version:write MAJOR=0 MINOR=0 PATCH=1首先生成一個版本號。

+0

如果我記得正確的話,那就是AFAIK和IIRC b據我所知,並非AFAIR。 –