0

Rubyでgemではないライブラリをどのようにインストールしますか?

グラフィを使おうとしています。

使用例では、と書かれてrequire 'graphy'いますが、rubyファイルがと同じディレクトリにある場合でも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>'
4

3 に答える 3

2

-Iフラグを使用して現在のディレクトリを調べるようにrubyに指示します。

ruby -I. my_script.rb

ルビーのロードパスを確認するにputs $:は、スクリプトの先頭に追加します。

于 2011-11-03T11:03:13.600 に答える
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$

ロードパスで現在のディレクトリを明示的に指定すると、うまくいく場合があります。

編集:おっと、私は遅すぎました(:

于 2011-11-03T11:33:16.860 に答える
0

この特定のケースでは、作成者はJewelerを使用してgemspecを管理しています。私はJewelerにあまり詳しくありませんが、AFAIRでは、を使用してGemを生成してインストールしrake installます。最初に。を使用してバージョン番号を生成する必要がある場合がありますrake version:write MAJOR=0 MINOR=0 PATCH=1

于 2011-11-03T13:27:41.457 に答える