問題タブ [vgo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - GOPATH 外のモノリシック リポジトリ アーキテクチャを使用して、Go 1.11+ で Golang のローカル モジュールを共有する方法
コンテキスト: モノリシック リポジトリ アーキテクチャを使用しています。これは、多くのプロジェクトを含む 1 つの大きな github リポジトリがあり、各プロジェクトが ui、node、go などに独自の技術スタックを使用していることを意味します。
go_common には、ロギング、データベース接続、構造体としてのスキーマ/モデルなど、すべての go プロジェクトで使用される共通コードがあります。Go 1.11 を使用し、go.mod でモジュールを宣言しています。また、このワークスペース全体と、GOPATH の外部にあるプロジェクトもあります。node.js プロジェクトで node_modules を .gitignore する方法と同様に、リポジトリ内にベンダー/サード パーティがダウンロードしたモジュールは必要ありません。そのため、go-get はベンダー モジュールを期待どおり GOPATH src/pkg にダウンロードし、任意の go プロジェクトにインポートするためにアクセスできます。
ただし、go_common のモジュールを参照する imports を動作させることはできません。go_common で go build と go install を実行して、GOPATH/bin にバイナリを作成しようとしましたが、実際に参照できるようにはなりませんでした。これを行う標準的な方法はありますか? 特に Go 1.11 と vgo の統合が GOPATH に依存せず、モジュール管理を容易にすることになっている今... ??