Check for Ruby Gem availability

后端 未结 7 1583
没有蜡笔的小新
没有蜡笔的小新 2020-12-02 12:15

Is there a way to check if some gem is currently installed, via the Gem module? From ruby code, not by executing \'gem list\'...

To clarify - I don\'t want to load t

7条回答
  •  青春惊慌失措
    2020-12-02 12:55

    I use this code and it works smoothly.

    def gem_available?(gem_name, version = nil)
      version.nil? gem(gem_name) : gem(gem_name, version)
    rescue Gem::LoadError
      false
    end
    

    Examples to use

    Let's assume you have rack 1.9.1 installed.

    puts gem_available?('rack') # => true
    puts gem_available?('rack', '>=2') => # false
    

提交回复
热议问题