4

私は小さな宝石のエコシステムを開発しましたが、特定の機能によって相互に依存するようになります。

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
4

2 に答える 2

3

各依存関係は異なる種類であるため、これは技術的には循環依存関係ではありません。それが真の循環依存である場合、両方を1つのgemに結合することをお勧めしますが、gem名は、その意図を示しています。これは正気です。

それはうまくいくはずです。

于 2012-04-16T19:48:50.353 に答える
0

実行時の循環依存関係はありません。

奇妙な場合でも、あるgemが、最初のgemに実行時の依存関係を持つ別のgemに開発依存関係を持つことは問題ありません。

それにもかかわらず、私はそれをお勧めしません。依存関係グラフにサイクルが完全にないことを確認することをお勧めします。

于 2012-04-16T19:23:10.230 に答える