Установить не-драгоценную библиотеку в Ruby - PullRequest
0 голосов
/ 03 ноября 2011

Как установить библиотеку, которая не является гемом в Ruby?

Я пытаюсь использовать graphy .

В примере использования он говорит 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>'

Ответы [ 3 ]

2 голосов
/ 03 ноября 2011

Скажите ruby, чтобы он смотрел в текущем каталоге, используя флаг -I:

ruby -I. my_script.rb

Чтобы увидеть путь загрузки ruby, добавьте puts $: вверху вашего скрипта.

1 голос
/ 03 ноября 2011

Все отлично работает.Я вставил свою попытку 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 голосов
/ 03 ноября 2011

В данном конкретном случае автор использует Jeweler для управления своей gemspec. Я не очень знаком с Jeweler, но AFAIR, вы генерируете и устанавливаете Gem с rake install. Возможно, вам сначала потребуется сгенерировать номер версии с помощью rake version:write MAJOR=0 MINOR=0 PATCH=1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...