php Xiaobian Yuzai が Go 言語に関する質問を共有します。「ワークスペースを依存関係として別の Go リポジトリにインポートするにはどうすればよいですか?」Go 言語では開発中、依存関係の管理は一般的な問題です。場合によっては、プロジェクトで使用するためにワークスペースを依存関係として別のリポジトリにインポートする必要がある場合があります。この記事では、Go 言語プロジェクトの依存関係をより適切に管理できるように、この目標を達成する方法を詳しく紹介します。
次のような構造のマルチワークスペース プロジェクトがあります:
リーリープロジェクトにはサブモジュール apps
が含まれており、その go.work
ファイルには次の内容が含まれています:
この app
サブモジュールをライブラリとしてインポートしたい別の go プロジェクト (別のリポジトリ) があります。ここに go.mod
があります:
次に、次のコードがあります:
リーリーコンパイルは次のエラーで失敗しました:
リーリーマルチワークスペースプロジェクトからサブモジュールをインポートするにはどうすればよいですか?
ワークスペースをインポートできません。
現在の状況は次のとおりです:
github.com/zhaoyi0113/test-go-module/apps
モジュール があり、そのモジュール パス を github.com/zhaoyi0113/test-go- として宣言しています。モジュール
。モジュールの実際のパスが宣言されたパスと一致しないため、モジュールは使用できません (パスの 1 つで /apps
が欠落していることに注意してください)。
xxxx モジュールには github.com/zhaoyi0113/test-go-module
が必要ですが、モジュールがこのパスに見つかりません。前の段落で説明したように、これは apps
サブディレクトリにあります。
モジュールを配置する場所に応じて、考えられる修正が 2 つあります。
インポートした go.mod を 現在のディレクトリ に保持したい場合は、モジュール パスを更新して apps
:
インポートモジュールの go.mod:
リーリーモジュールをインポートするためのgo.mod:
リーリー2 番目も通常のオプションです go.mod をプロジェクトのルート ディレクトリに置き、go.work ファイルをプロジェクトの外に置くだけです。この機能を実装するには、go.mod をプロジェクトのルート (元のコミットにあったとおり) に移動し、go.work を別の場所に移動します。インポートされたモジュールを変更する必要はありません。
以上がワークスペースを依存関係として別の go リポジトリにインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。