2011-11-03 23 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。 –