ホームページ > バックエンド開発 > Golang > ワークスペースを依存関係として別の go リポジトリにインポートするにはどうすればよいですか?

ワークスペースを依存関係として別の go リポジトリにインポートするにはどうすればよいですか?

王林
リリース: 2024-02-09 08:33:20
転載
638 人が閲覧しました

如何将工作区作为依赖项导入到另一个 go 存储库中?

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート