Bir "gereksinim" ifadesine karşılık hangi rubygem'in kullanıldığını nasıl belirleyebilirim? yardımcı olmayan bir mücevher.Kullandığınız rubygem'i belirleme
Arka plan: proje hornsby-herbaryum-ayrıştırıcısı için gem roo kullanıyorum.
Github gem hmcgowan-roo'yu kullandım, o zamanlar roo'nun rubyforge versiyonundan daha günceldi. Kodun runcoderun üzerinde test edilmesini denedim ve roo'nun herhangi bir sürümü olmadığı için başarısız oldu. Bu zamana kadar, roo'nun yeni sürümleri hem github hem de rubyforge üzerinde mevcuttu.
rubyforge'un en son sürümünün kodum için çalışıp çalışmadığına karar verdim, çünkü rubyforge'un github çatallarından daha resmi, otoriter ve kararlı olduğunu varsayardım. Bir keresinde rubyforge versiyonunun kodumla çalıştığına eminim, eğer sistemlerine kurabilirlerse runcoderun'a güzelce soracaktır.
Ben sudo gem roo yüklü ve benim taşlar şimdi "hmcgowan-roo (1.3.5)" ve "roo (1.3.6)" içerir ve hornsby-herbaryum-ayrıştırıcı için testler hala geçer. Rubyforge sürümü daha yakın bir zamanda kurulduğundan, 'un testlerde kullanılan olması gerektiğini biliyorum, ancak bunu doğrulamak istiyorum.
gem which roo
bu bana yanlış cevap olduğunu varsayalım
(checking gem hmcgowan-roo-1.3.5 for roo)
/usr/lib/ruby/gems/1.8/gems/hmcgowan-roo-1.3.5/lib/roo.rb
verdi çünkü
, yardımcı olmadı .
Güncelleme: Ben hala hmcgowan-roo-1.3.5 kullanıyorum diyerek gem ile hem katılıyorum hem
$:.detect {|dir| dir =~ /roo/}
ve
puts Roo::VERSION::STRING
kullandı.
İster CLI'den isterse Ruby'den istersiniz, her ikisi de sorun değil mi? –
Benzer ancak Rails için (böylece Bundler'ı varsayar): http://stackoverflow.com/questions/1621405/how-to-tell-which-version-of-a-gem-a-rails-app-is-using –