Go 1.6 でのベンダーによる依存関係の管理
Go 1.6 では、プロジェクト内で依存関係を直接管理するための組み込みメカニズムであるベンダーが導入されました。この機能を効果的に活用するにはどうすればよいですか?
ベンダーについて
ベンダーを使用すると、Go のルックアップ パスは ./vendor/ ディレクトリ内で見つかった依存関係を優先します。これは、依存関係が ./vendor/ と $GOPATH/src/ の両方に存在する場合、./vendor/ バージョンが使用されることを意味します。
手動ベンダー使用法
ベンダーを手動で使用するには、依存関係のファイルを $GOPATH/src/ から ./vendor/ 内の対応するパスにコピーします。ディレクトリ、元のパスと一致します。これにより、 go build や go run などのツールが ./vendor/ バージョンより優先されます。
依存関係管理ツール
手動でコピーする代わりに、依存関係管理ツールの使用を検討してください。ゴデップやガベンダーのように。これらのツールは、$GOPATH/src/ から依存関係をコピーすることで、プロジェクト内で見つかった依存関係を ./vendor/ ディレクトリに自動的に追加します。
選択的なベンダー使用
依存関係の管理中ツールにはそれぞれのメリットがありますが、過度に依存する可能性もあります。依存関係をロックインする代わりに、ベンダーを使用して問題のある特定のリポジトリを管理し、他のユーザーが go get -u を使用して自由に更新できるようにすることを検討してください。
例
次の方法で依存関係がインストールされています。通常の $GOPATH/src/github メソッド。単一の依存関係を選択的にベンダーするには、次のコマンドを実行します。
mkdir -p $GOPATH/src/ou/vendor/github.com/zenazn/goji cp -r $GOPATH/src/github.com/zenazn/goji/ $GOPATH/src/ou/vendor/github.com/zenazn/goji
これにより、問題のある依存関係が ./vendor/ にコピーされ、他の依存関係は自由に更新できるようになります。
以上がGo 1.6 の「vendor」メカニズムを使用して Go の依存関係を効果的に管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。