Làm cách nào để xác định rubygem nào đang được sử dụng để đáp lại câu lệnh "yêu cầu"? đá quý mà dường như không giúp đỡ.Xác định rubygem nào bạn đang sử dụng
nền: đối với dự án hornsby-herbarium-parser, tôi đang sử dụng gem roo.
Tôi đã sử dụng đá quý github hmcgowan-roo, tại thời điểm đó nó gần đây hơn phiên bản rubyforge của roo. Tôi đã thử nghiệm mã trên runcoderun, và nó không thành công vì nó không có bất kỳ phiên bản nào của roo. Đến thời điểm này, các phiên bản mới của roo đã có sẵn trên cả github và rubyforge.
Tôi quyết định tôi cũng có thể xem phiên bản mới nhất của rubyforge có phù hợp với mã của tôi hay không, vì tôi cho rằng rubyforge chính thức hơn, có thẩm quyền và ổn định hơn so với github. Khi tôi chắc chắn phiên bản rubyforge hoạt động với mã của tôi, tôi sẽ yêu cầu runcoderun độc đáo nếu họ có thể cài đặt nó trên hệ thống của họ.
Tôi sudo gem cài đặt roo, và đá quý của tôi bây giờ bao gồm "hmcgowan-roo (1.3.5)" và "roo (1.3.6)", và chạy các thử nghiệm cho hornsby-herbarium-parser vẫn đi qua. Tôi biết rằng phiên bản rubyforge đã được cài đặt gần đây hơn, nó nên là phiên bản được sử dụng trong các thử nghiệm, nhưng tôi muốn có thể xác minh điều này.
gem which roo
Không giúp đỡ, bởi vì nó đã cho tôi
(checking gem hmcgowan-roo-1.3.5 for roo)
/usr/lib/ruby/gems/1.8/gems/hmcgowan-roo-1.3.5/lib/roo.rb
mà tôi giả sử là câu trả lời sai.
Cập nhật: Tôi sử dụng cả hai
$:.detect {|dir| dir =~ /roo/}
và
puts Roo::VERSION::STRING
cả đồng ý với đá quý mà, nói rằng tôi vẫn đang sử dụng hmcgowan-roo-1.3.5.
Bạn muốn hoặc từ CLI, hoặc từ bên trong Ruby, cả hai đều OK là nó? –
Tương tự nhưng đối với Rails (do đó giả sử Bundler): http://stackoverflow.com/questions/1621405/how-to-tell-which-version-of-a-gem-a-rails-app-is-using –