依存関係の伝播をどのように理解する必要がありますか? [閉鎖]

依存関係の伝播をどのように理解する必要がありますか? [閉鎖]

https://nixos.org/manual/nixpkgs/stable/#ssec-stdenv-dependent-reference説明する

他の転移的(非直接)下流の依存関係も直接依存関係として要求する場合、依存関係が伝播されると言われています。

「ダウンストリーム」と「アップストリーム」の依存関係はどういう意味ですか?

「間接」依存関係と「直接」依存関係は何ですか?

依存関係の概念はパッケージの依存関係間で依存関係を伝播しますか?

はいや図で説明できますか?

ベストアンサー1

「ダウンストリーム」と「アップストリーム」の依存関係はどういう意味ですか?

のようにMC68020の回答、パッケージA、B、Cを使用します。ここで、AはBに依存し、Bは再びCに依存します。

A→B→C(依存関係の観点から).

「上流」および「下流」という用語は、変化する流れを指す。

  • 通常、デプロイメント環境では、「アップストリーム」とは、通常、パッケージに提供されるプロジェクトのソースソースを指します。そこで変更が適用され、パッケージが更新され、更新されたプロジェクトが提供されます。

  • 特に依存関係の文脈でCが変更された場合は、Bも変更する必要があり、Aも変更する必要があります。したがって、CはBの上流の依存関係、BはAの上流の依存関係、AはBの下流の依存関係、BはCの下流の依存関係です。

「間接」依存関係と「直接」依存関係は何ですか?

直接依存関係は直接依存関係を意味します。 BはAの直接依存性、CはBの直接依存性です。間接依存関係は転移的依存関係です。 A は B のため C にのみ依存するため、C は A の間接依存関係です。 A が B に依存しないように変更されると、C に依存しなくなります。

依存関係の概念はパッケージの依存関係間で依存関係を伝播しますか?

依存性の反映の伝播多様性依存関係ツリーから。から始まる

A→B→C

上記で、AがCの一部の機能を使用するように変更された場合、Cに直接依存します。

A→B→C
A→C

C の観点からは、以前の間接依存関係 A は直接依存関係として必要であるため、依存関係は「伝播」されています。伝播は C または依存ツリーに依存せず、A の変更の結果です。

これらの変更は目立たない可能性があるため、記録しておくことが重要です。 BはCに依存するため、AはCの機能に「無料」でアクセスできます。したがって、AがCを直接使用し始めると、パッケージングの変更は必要なく、Aは通常どおり構築し続けます。しかし、Aの直接依存関係リストは現在不完全であり、Bが後でCの依存関係を削除すると、Aから何も変更されていない場合でも、Aはビルドを停止します。

おすすめ記事