サブモジュールのインポートとのモジュールの依存関係の競合を解決する
複数モジュールの依存関係のシナリオでは、次の場合に共有依存関係のバージョンの競合が発生する可能性があります。最上位モジュールとそのサブモジュールは、異なるバージョンで個別にインポートされます。この問題は多くの場合、「あいまいなインポート」エラーとして現れ、ローカル モジュール パスに依存関係の複数のバージョンが存在することを示します。
この競合の根本的な原因は通常、go-modules より前のバージョンが含まれていることです。依存関係の。このバージョンには go.mod ファイルが欠如しており、ブラック ボックスとして取得されるため、同じ依存関係の go-module 対応バージョンとの競合が発生します。
この問題を解決するには、 go-module 対応バージョンを使用するための共有依存関係。これは、最上位モジュールの go.mod ファイルに replace ディレクティブを追加することで実現できます。たとえば、共有依存関係が github.com/shared/dependency で、必要なバージョンが v1.2.0 の場合、次の行を go.mod ファイルに追加できます:
replace ( github.com/shared/dependency => github.com/shared/dependency v1.2.0 )
この行は強制的にgithub.com/shared/dependency へのすべての参照は、go-module 対応バージョン 1.2.0 を使用します。すべての依存関係が一貫したバージョンを使用していることを保証することで、同じ依存関係の複数のバージョンによって生じる曖昧さが排除されます。
以上がサブモジュールのインポートとのモジュールの依存関係の競合を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。