4

我开发了一个小型 gem 生态系统,某些功能将导致它们相互依赖。

RubyGems 是否支持循环依赖?换句话说,以这些规格推送 gem 是否安全?

Gem::Specification.new 'essentials' do |gem|
  gem.add_development_dependency 'development_tools'
end

Gem::Specification.new 'development_tools' do |gem|
  gem.add_runtime_dependency 'essentials'
end
4

2 回答 2

3

这在技术上不是循环依赖,因为每个依赖都是不同的类型。如果这是一个真正的循环依赖,我会建议将两者结合到一个 gem 中,但你的 gem 名称说明了意图,这是理智的。

它应该工作得很好。

于 2012-04-16T19:48:50.353 回答
0

没有循环运行时依赖项。

如果一个 gem对另一个 gem 具有运行时依赖于第一个 gem 具有开发依赖关系,那么它应该是可以的,如果奇怪的话。

尽管如此,我不会推荐它。我建议确保您的依赖关系图完全没有循环。

于 2012-04-16T19:23:10.230 回答