Go 1.6 では、依存関係の管理を簡素化する組み込みのベンダー メカニズムが導入されました。ベンダー化を使用すると、依存関係がプロジェクトのディレクトリに直接含まれるため、オフラインでのビルドや特定のバージョンのより詳細な制御が可能になります。
./vendor を使用するには、まずコピーします。必要な依存関係を $GOPATH/src からベンダー フォルダーにコピーします。たとえば、GitHub の [goji](https://github.com/zenazn/goji) ルーティング パッケージを使用する場合:
mkdir -p $GOPATH/src/your-project/vendor/github.com/zenazn/goji cp -r $GOPATH/src/github.com/zenazn/goji/ $GOPATH/src/your-project/vendor/github.com/zenazn/goji
依存関係がコピーされたら、go build や go などの Go ツールを使用します。 run は、必要なパッケージについて最初に ./vendor を自動的にチェックします。見つからない場合は、標準の $GOPATH/src ディレクトリにフォールバックします。
依存関係の手動コピーは小規模なプロジェクトでは実行可能ですが、依存関係管理ツールは便利な機能を提供します。ベンダー フォルダーから依存関係をインストールおよび管理する方法。一般的なオプションは次の 2 つです:
これらのツールは、プロジェクトを検査し、その依存関係を特定し、それらをコピーします。 $GOPATH/src を現在のディレクトリのベンダー フォルダーに移動します。たとえば、Godep を使用すると、
godep save ./...
ベンダリングを使用すると、ベンダー フォルダーに特定の依存関係のみを選択的に含めることができます。このアプローチにより、必要なパッケージを特定のバージョンにロックインし、他のパッケージは go get を通じて更新できるようになります。
依存関係管理は不可欠ですが、過剰な使用を避けることが重要です。すべての依存関係を一律にベンダーすると、定期的な更新が妨げられ、不必要なリスクが生じる可能性があります。
以上がGo 1.6 の組み込みベンダー メカニズムは依存関係の管理をどのように簡素化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。