【问题标题】:ruby: code to install gem if missingruby:如果缺少安装 gem 的代码
【发布时间】:2019-12-13 21:07:23
【问题描述】:

是否有一些 ruby​​ 代码可用于从本地文件安装 gem(如果未安装 gem)?

我认为它看起来像:

if !gem_installed("some gem name")
  system "gem install -l local_copy.gem"
end

我不知道是否有任何东西可以让我检查这样的宝石......

【问题讨论】:

标签: ruby rubygems


【解决方案1】:

previous StackOverflow Quesiton 涵盖了检查可用性

begin
  gem "somegem"
  # with requirements
  gem "somegem", ">=2.0"
rescue Gem::LoadError
  # not installed
end

matches = Gem.source_index.find_name(gem.name, gem.version_requirements)

至于安装,看起来像 rails uses the system 也用于 gem install

 puts %x(#{cmd})

【讨论】:

【解决方案2】:

这是我的做法

['json','date','mail'].each { |req|
    begin
        gem req
    rescue Gem::LoadError
        puts " -> install gem " + req
        Gem.install(req)
        gem req
    end
    require req
}

【讨论】:

    猜你喜欢
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多