ホームページ >バックエンド開発 >Golang >Go 1.6 の「vendor」メカニズムを使用して Go の依存関係を効果的に管理するにはどうすればよいですか?

Go 1.6 の「vendor」メカニズムを使用して Go の依存関係を効果的に管理するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-23 20:55:14978ブラウズ

How Can I Effectively Manage Go Dependencies Using the `vendor` Mechanism in Go 1.6?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。