ホームページ > バックエンド開発 > Golang > Go 1.6 のベンダー メカニズムは外部依存関係をどのように管理しますか?

Go 1.6 のベンダー メカニズムは外部依存関係をどのように管理しますか?

Susan Sarandon
リリース: 2024-12-26 04:13:13
オリジナル
125 人が閲覧しました

How Does Go 1.6's Vendor Mechanism Manage External Dependencies?

Go 1.6 でベンダーを使用する方法

Go 1.6 でベンダーを理解する

Go 1.6 では、ベンダーは核となるワークフロー。外部依存関係を使用するプロジェクトをビルド、実行、またはインストールする場合、Go は ./vendor ディレクトリにあるパッケージを優先します。パッケージがそこで見つからない場合は、標準の $GOPATH/src ディレクトリに戻ります。

ベンダーの使用

ベンダーを使用するには、必要な外部パッケージをコピーするだけです。 $GOPATH/src ディレクトリからプロジェクトのルート フォルダー内の ./vendor ディレクトリに移動します。例:

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 ディレクトリに手動でコピーすることも可能ですが、依存関係を使用する方が便利な場合があります。管理ツール。よく使われる 2 つのオプションは次のとおりです:

  • Godep: godep save ./...
  • Governor: この記事では使用しません

これらのツールは、システム内の外部パッケージの検索、コピー、管理のプロセスを自動化します。 ./vendor directory.

選択的ベンダー

完全な依存関係ロックにベンダーを使用することに加えて、問題を引き起こす可能性のある特定のパッケージのみを選択的にロックするために使用することもできます。アップデート付き。これにより、残りの依存関係が最新の更新を受信できるようにしながら、不正な動作をしているパッケージの特定のバージョンをロックダウンすることができます。

過剰使用が発生した場合

次の点に注意することが重要です。依存関係管理ツールに過度に依存すると、不必要なロックが発生する可能性があります。依存関係のロックは運用環境の安定性を確保するために不可欠ですが、ベンダーを選択的に使用し、消費者への影響を考慮することをお勧めします。

たとえば、 go get -u ./ を使用し続けながら、問題のあるパッケージのみを選択的にベンダー化します。 ...残りの依存関係については、問題を引き起こす可能性のある特定の依存関係を制御しながら、最新のバージョンとバグ修正を維持できます。

以上がGo 1.6 のベンダー メカニズムは外部依存関係をどのように管理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート