Go モジュールのコンテキストでは、依存関係は特定のモジュールに必要なパッケージです。直接的な依存関係は go.mod ファイルの require ステートメントに明示的にリストされますが、直接的な依存関係がそれらに依存する場合、間接的な依存関係は自動的に追加されます。
これにより、モジュールの go.mod ファイルに次の内容が含まれる状況が発生する可能性があります。モジュール自体によって直接使用されない場合でも、多数の間接的な依存関係が存在します。これは、特に複数のバージョンの依存関係が含まれている場合、混乱を招き、管理が困難になる可能性があります。
残念ながら、go.mod ファイル内の間接的な依存関係を完全に回避することはできません。 Go モジュールを使用する場合、特に指定がない限り、直接的な依存関係に必要なすべての依存関係は、間接的な依存関係として自動的に追加されます。
質問に示されている例を考えてください。
この場合、github.com/gocolly/colly v1.2.0 には go.mod ファイルがないため、その依存関係はすべて prodenv に間接的にリストされています。モジュールの go.mod ファイル。
間接的な依存関係を回避するには、go.mod ファイルを持つ依存関係を使用することをお勧めします。これにより、モジュールによって直接使用される依存関係のみが go.mod ファイルにリストされるようになります。
以上がGo モジュールでの間接的な依存関係を完全に回避できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。