在.gemspec中使用add_development_dependency有哪些实际优点?

5

相较于仅在Gemfile中列出用于gem开发的宝石(因为每个人都使用bundler),这样做有何优势呢?

除了让你的手指多做一些工作之外,还有其他好处吗?


我猜开发依赖关系可能在Gemfile中,但是gem所依赖的任何东西都需要在gemspec中。最好不要将gem依赖关系锁定到版本中,这就是在Gemfile.lock中发生的事情。 - max pleaner
@maxple,这个问题是关于add_development_dependency的,没有提及Gemfile.lock - Costa Shapiro
1
你在谈论使用Gemfile,它会生成一个Gemfile.lock。无论如何,gems需要一个gemspec。 - max pleaner
2个回答

3

目前并不清楚是否有这样的功能。

理论上,RubyGems 包含了运行使用 add_development_dependencytest_files 的测试所需的信息(请参考这个问题)。

有人认为这应该超出了 RubyGems 的范围(参见此长串讨论)。

实际上,目前并没有真正的优势,而且 RubyGems 仍默认安装测试文件是一个缺点,同样也可能会存在 Gemfile 提供的灵活性不足的问题。


0
一个 `add_development_dependency` 的好处是,如果您将您的 Gem 发布到 rubygems.org 上,这些依赖项可以在 Gem 的详细页面上列出。因此,如果有人通过 rubygems.org 找到了您的 Gem,他们就可以立即知道如果想要对该 Gem 进行贡献,需要什么依赖项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接