Golang は、強力なマルチスレッド機能と効率的なガベージ コレクション メカニズムを備えた人気のあるプログラミング言語であり、多くの開発者に好まれています。 Golang を使用して開発する場合、多くのサードパーティのライブラリやパッケージを参照する必要があることがよくあります。このとき、このプロセスを管理するためにベンダーのメカニズムが使用されます。
ベンダー メカニズムの概要
ベンダー メカニズムは、Golang バージョン 1.5 で導入されたパッケージ管理メカニズムで、Golang がサードパーティ ライブラリを参照するときに発生する可能性のあるバージョン競合の問題を解決することを目的としています。ベンダー メカニズムを使用する前は、Golang のパッケージ管理メカニズムは主に GOPATH を使用していました。これは、すべてのサードパーティ ライブラリが管理のために同じディレクトリにダウンロードされることを意味します。
しかし、このメカニズムには問題があります。異なるプロジェクトが同じライブラリの異なるバージョンを参照する必要がある場合、バージョンの競合が発生する可能性があり、開発者はコードを異なるディレクトリに必死にコピーする必要さえあり、非常に不便です。
したがって、Golang バージョン 1.5 ではベンダー メカニズムが導入され、サードパーティ ライブラリのコードをプロジェクトのコード リポジトリに直接コピーできるようになり、各プロジェクトが他のプロジェクトの影響を受けることなく独自のバージョンのライブラリを使用できるようになりました。干渉によって不要な依存関係の問題が発生することはありません。
ベンダー メカニズムのインストール プロセス
ベンダー メカニズムの役割を理解した後、ベンダー メカニズムのインストールを完了する方法を説明します。
Golang 1.6 より前のバージョンでは、ベンダー メカニズムはデフォルトでオフになっています。ベンダー メカニズムを有効にするには、コードをコンパイルするときにマーク -vendor を追加する必要があります。例:
<code>go build -v -vendor</code>
Golang 1.6 以降のバージョンでは、ベンダー メカニズムがデフォルトで有効になっているため、プロジェクトのルート ディレクトリにベンダー ディレクトリを作成するだけで済みます。
ベンダー ディレクトリを作成した後、 go get コマンドを使用してサードパーティ ライブラリとその依存ライブラリをインストールできます。たとえば、github.com/go-sql-driver/mysql をインストールする場合は、次のコマンドを使用してインストールできます:
<code>GO15VENDOREXPERIMENT=1 go get github.com/go-sql-driver/mysql</code>
このコマンドは、ディレクトリ github.com/go-sql-driver/mysql を作成します。ベンダー ディレクトリにあるライブラリをすべてダウンロードし、そのライブラリのコードをベンダー ディレクトリにコピーします。
サードパーティ ライブラリのインストールが完了したら、ベンダー メカニズムを使用してプロジェクトの依存関係を管理できます。
概要
ベンダー メカニズムを使用すると、サードパーティ ライブラリを参照する際の Golang のバージョン競合の問題を効果的に解決でき、各プロジェクトが独自のバージョンのライブラリを個別に使用できるようになります。ベンダー メカニズムのインストールは複雑ではありません。プロジェクトのルート ディレクトリにベンダー ディレクトリを作成し、go get コマンドを使用してサードパーティ ライブラリとその依存ライブラリをインストールするだけです。開発に Golang を使用している場合は、より便利な開発エクスペリエンスをもたらすベンダー メカニズムを試してみることを強くお勧めします。
以上がgolang ベンダーのインストールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。