ホームページ  >  記事  >  バックエンド開発  >  GO111MODULE=on を使用し、その開発ブランチでパッケージを更新するときに依存関係の競合を解決するにはどうすればよいですか?

GO111MODULE=on を使用し、その開発ブランチでパッケージを更新するときに依存関係の競合を解決するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-28 02:19:02847ブラウズ

 How to Resolve Dependency Conflicts When Using GO111MODULE=on and Updating a Package with its Development Branch?

GO111MODULE=on エラー: 依存関係の競合の解決

GO111MODULE=on を設定して Go モジュールを有効にし、その開発でパッケージを更新しようとしたときブランチを実行すると、「モジュール要件のロード中にエラーが発生しました」というメッセージが表示される場合があります。このエラーは、更新しようとしているパッケージの依存関係に競合があることを示しています。

この特定のケースでは、GO111MODULE=on go get -u github.com/junegunn/fzf@devel を実行すると、エラーが発生します。この問題は、fzf の依存関係の 1 つである gopkg.in/DATA-DOG/go-sqlmock が、バージョン管理に影響を与える go.mod ファイルに変更を導入したために発生します。

go-sqlmock のバージョン 1.3.3 により、このバージョンが削除されましたgo.mod パスの接尾辞。これは、バージョンの明示的な表示が期待されなくなり、代わりに最新バージョンが使用されることを意味します。ただし、gdamore/tcell などの go-sqlmock の依存関係の一部は依然として以前のバージョン管理システムに依存しています。

その結果、fzf が -u で依存関係を更新しようとすると、go- をロードしようとします。バージョンサフィックスが欠落している sqlmock は失敗します。この問題を回避するには、開発ブランチでの作業中に fzf を更新するときに -u フラグを一時的に無効にすることができます。

GO111MODULE=on go get github.com/junegunn/fzf

または、tcell の今後の更新で問題が解決されるまで待つこともできます。 。この特定の競合に対処するために、tcell リポジトリでプル リクエストが発行されました。

以上がGO111MODULE=on を使用し、その開発ブランチでパッケージを更新するときに依存関係の競合を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。