問題タブ [godeps]
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 - ベンダーの階層
私の go プロジェクトは多くのコンポーネントで構成されています。すべてのコンポーネントには独自のベンダー ディレクトリがあり、dep
. コンポーネントには同様の依存関係があるため、ベンダー ディレクトリには大きな重複があります。さらに、ベンダーは非常に大きく、最大 20MB です。
私の考えは、プロジェクトの上に共通のベンダーを定義することで、リポジトリのサイズを縮小することです。
project
vendor
|--component1
|----main.go
|----vendor
|--component2
|----main.go
|----vendor
すべてのコンポーネントは、そのコンポーネントに固有の依存関係のみを定義する必要があります。コンポーネントレベルで実行されるすべてに共通の依存関係をプロビジョニングしないdep ensure
ようにするには、Gopkg.toml ファイルで無視するパッケージを指定できます。
ignored = ["github.com/aszecowka/calc"]
質問: このアプローチを使用する人はいますか? 代替案はありますか?
更新コンテキスト: 私の会社では、monorepo アプローチを調査しています。さまざまな go プロジェクトを統合しようとしていますが、最終的には非常に巨大なリポジトリになります。多くのベンダーのディレクトリが原因です。