如何查看系统中是否安装了gem?
%x('gem' 'list').split.find{|i| i == "capybara"}
有没有更短的方法?
最佳答案
如果您尝试在 ruby 中执行此操作,则可以使用内置的 RubyGem 方法。旧版本提供了一个返回 bool 值的 Gem.available?('capybara')
方法,但这已被弃用。现在推荐的方式是使用(假设你使用的是支持它的版本):
Gem::Specification::find_by_name('capybara')
http://rubygems.rubyforge.org/rubygems-update/Gem/Specification.html
更新
如果你想要一个 bool 结果,你可以使用 .find_all_by_name()
并检查结果数组是否为空:
if Gem::Specification::find_all_by_name('capybara').any?
# Gem is available
end
关于ruby - 如何查看系统中是否安装了 gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8490167/