如何確定使用哪個rubygem來響應「require」語句?這似乎沒有幫助的寶石。確定您正在使用哪個rubygem
背景:對於項目hornsby-herbarium解析器,我使用的是寶石roo。
我使用了github gem hmcgowan-roo,因爲那時它比roy的rubyforge版本更新。我試着在runcoderun上測試代碼,但它失敗了,因爲它沒有任何版本的roo。此時,github和rubyforge都可以使用新版本的roo。
我決定不妨看看rubyforge的最新版本是否適用於我的代碼,因爲我認爲rubyforge比github forks更官方,權威,更穩定。一旦我確定rubyforge版本與我的代碼一起工作,我會很好地詢問runcoderun是否可以將它安裝在他們的系統上。
我sudo gem安裝了roo,我的寶石現在包含「hmcgowan-roo(1.3.5)」和「roo(1.3.6)」,運行hornsby-herbarium-parser的測試依然通過。我知道,由於rubyforge版本是最近安裝的,它應該是在測試中使用的,但我希望能夠驗證這一點。
gem which roo
沒有幫助,因爲它給了我
(checking gem hmcgowan-roo-1.3.5 for roo)
/usr/lib/ruby/gems/1.8/gems/hmcgowan-roo-1.3.5/lib/roo.rb
,我認爲是錯誤的答案。
更新:我用兩種
$:.detect {|dir| dir =~ /roo/}
和
puts Roo::VERSION::STRING
雙方同意其中的寶石,他說,我現在還在使用hmcgowan-Roo的-1.3.5。
你想從CLI或從Ruby內部,都可以嗎? – 2014-09-02 07:26:28
類似但Rails(因此假設Bundler):http://stackoverflow.com/questions/1621405/how-to-tell-which-version-of-a-gem-a-rails-app-is-using – 2014-09-02 08:31:49