0

私の go プロジェクトは多くのコンポーネントで構成されています。すべてのコンポーネントには独自のベンダー ディレクトリがあり、dep. コンポーネントには同様の依存関係があるため、ベンダー ディレクトリには大きな重複があります。さらに、ベンダーは非常に大きく、最大 20MB です。
私の考えは、プロジェクトの上に共通のベンダーを定義することで、リポジトリのサイズを縮小することです。 project vendor |--component1 |----main.go |----vendor |--component2 |----main.go |----vendor

すべてのコンポーネントは、そのコンポーネントに固有の依存関係のみを定義する必要があります。コンポーネントレベルで実行されるすべてに共通の依存関係をプロビジョニングしないdep ensureようにするには、Gopkg.toml ファイルで無視するパッケージを指定できます。

ignored = ["github.com/aszecowka/calc"]

質問: このアプローチを使用する人はいますか? 代替案はありますか?

更新コンテキスト: 私の会社では、monorepo アプローチを調査しています。さまざまな go プロジェクトを統合しようとしていますが、最終的には非常に巨大なリポジトリになります。多くのベンダーのディレクトリが原因です。

4

0 に答える 0