Ustalenie, którego rubygem używasz
W jaki sposób można określić, który rubygem jest używany w odpowiedzi na oświadczenie „wymaganie”? klejnot, który wydaje się nie pomagać.
tło: dla parsera projektu hornsby-herbarium używam klejnotu roo.
Użyłem github gem hmcgowan-roo, ponieważ w tym czasie był on nowszy niż wersja roo rubyforge. Próbowałem przetestować kod na runcoderun i nie powiodło się, ponieważ nie ma żadnej wersji roo. W tym czasie nowe wersje roo były dostępne zarówno na github, jak i rubyforge.
Zdecydowałem, że równie dobrze mogę zobaczyć, czy najnowsza wersja z rubyforge działa dla mojego kodu, ponieważ zakładam, że rubyforge jest bardziej oficjalny, autorytatywny i stabilny niż widelce github. Po upewnieniu się, że wersja rubyforge działa z moim kodem, ładnie zapytam runcoderun, czy mogą go zainstalować w swoim systemie.
I sudo gem zainstalował roo, a moje klejnoty zawierają teraz "hmcgowan-roo (1.3.5)" i "roo (1.3.6)", a uruchomienie testów dla parsera hornsby-herbarium nadal przechodzi. Wiem, że jako wersja rubyforge została zainstalowana ostatnio, topowinien być tym, którego używa się w testach, ale chcę móc to zweryfikować.
gem which roo
Nie pomogło, bo to dało mi
(checking gem hmcgowan-roo-1.3.5 for roo)
/usr/lib/ruby/gems/1.8/gems/hmcgowan-roo-1.3.5/lib/roo.rb
które uważam za złą odpowiedź.
Aktualizacja: Użyłem obu
$:.detect {|dir| dir =~ /roo/}
i
puts Roo::VERSION::STRING
obie zgadzają się z klejnotem, który mówiąc, że nadal używam hmcgowan-roo-1.3.5.