【问题标题】:Ruby gem - Requires depending on Runtime OptionsRuby gem - 取决于运行时选项
【发布时间】:2013-11-27 17:36:41
【问题描述】:

我正在开发一个红宝石,我的需求是一团糟。

gem 是一个 web Scraper,它根据给定的选项,使用不同的方法访问 web,因此需要不同的 gem。有些用户可能永远不需要一些 gem,或者其中任何一个。

我的问题是,我在 .gemspec 中放了什么:

 s.add_runtime_dependency #do I require all the gems here?

在我的代码中,我实际上在哪里需要必要的 gem,我该如何进行测试?

我不知道这方面的约定。谢谢。

*代码:https://github.com/ZirconCode/Scrapah

【问题讨论】:

    标签: ruby rubygems require


    【解决方案1】:

    RubyGems 提供了两种主要的依赖“类型”:runtimedevelopment

    运行时依赖项是您的 gem 工作所需要的(例如 rails 需要 activesupport)。

    当有人想要对您的 gem 进行修改时,开发依赖项很有用。当您指定开发依赖项时,另一个开发人员可以运行gem install --dev your_gem,而RubyGems 将获取两组依赖项(runtime and development)。典型的开发依赖项包括测试框架和构建系统。

    因此,在 Gem 规范文件中,您可以添加 Gem 需要工作的那些 Gem

    Gem::Specification.new do |s|
       s.name = "gem name"
       s.version = "2.0.0"
       s.add_runtime_dependency "daemons",
       ["= 1.1.0"]
       s.add_development_dependency "bourne",
       [">= 0"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      相关资源
      最近更新 更多