我开发了一个小型宝石生态系统,某些特征会导致它们相互依赖。
RubyGems是否支持循环依赖?换句话说,推出符合这些规格的宝石是否安全?
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
答案 0 :(得分:2)
从技术上讲,这不是循环依赖,因为每个依赖都是不同的。如果它是一个真正的循环依赖,我会建议将两者合并为一个宝石,但你的宝石名称说明了意图,这是理智的。
它应该可以正常工作。
答案 1 :(得分:1)
没有循环运行时依赖项。
如果奇怪的话,一个gem对另一个对第一个有运行时依赖的gem的开发依赖关系应该没问题。
然而,我会不推荐它。我建议确保您的依赖图完全没有循环。