Go Mod でのモジュール パスの不一致を克服する
Go Mod を利用すると、サードパーティのパッケージが別のパッケージをインポートする場合に競合が発生する可能性がありますインポートされたパッケージの go.mod と実際のインポート パスの間にパスが一致しません。これは、エコーされたメッセージ:
`
github.com/coreos/etcd/client testing by<br>github.com/coreos/etcd/client に示されているように、go mod tiny の失敗につながる可能性があります。 .test imports<br>github.com/coreos/etcd/integration imports<br>github.com/coreos/etcd/etcdserver imports<br>github.com/coreos/etcd/mvcc/backend imports<br>github.com /coreos/bbolt: github.com/coreos/[email protected]: go.mod:<br>モジュールの解析では、そのパスが go.etcd.io/bbolt<br> として宣言されていますが、github.com/coreos として必要でした/bbolt<br>`
この問題を解決するには、go.mod ファイルの replace ディレクティブを利用できます。 go.mod の最後に次の行を追加するだけです:
replace github.com/coreos/bbolt v1.3.5 => go.etcd.io/bbolt v1.3.5
replace ディレクティブを使用すると、元のインポート パスをオーバーライドし、競合するパッケージの正しいモジュール パスを指定できます。この go mod は、パッケージの go.mod ファイルで宣言されたモジュール パスがインポート パスと異なっていても、依存関係を正しく解決します。
以上がReplace ディレクティブを使用して Go Mod のモジュール パスの不一致を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。