開発における Go 言語の幅広い用途に伴い、開発に Go 言語を使用し始めている企業やチームが増えています。生じる問題の 1 つは、依存関係の管理をどのように処理するかです。 Go 言語には独自の依存関係管理ツールがありますが、このツールの使用中にいくつかの問題が発生する可能性があります。その 1 つはベンダー設定の問題です。
Vendor は Go 言語に付属するメカニズムで、プロジェクト内の依存関係パッケージを管理するために使用されます。通常、Go 言語プロジェクトでは多くのサードパーティ ライブラリが使用される場合があり、これらのライブラリをダウンロードしてインストールする必要があります。ベンダー メカニズムを使用すると、これらの依存関係パッケージをプロジェクト ディレクトリのベンダー サブディレクトリに配置できるため、依存関係パッケージをインターネットからダウンロードせずにプロジェクト内で直接管理できます。
上記のプロセスでは、グローバル設定とローカル設定の 2 つの設定方法から選択できます。
グローバル設定モードでは、コマンド ラインで次のコマンドを使用する必要があります:
go env -w GOFLAGS=-mod=vendor
このコマンドは、GOFLAGS
を設定します。環境変数 -mod=vendor
に設定します。これは、Go プロジェクトのインストールおよびビルド中に、vendor
ディレクトリ内の依存関係パッケージが最初に使用されることを意味します。
ただし、この設定方法は柔軟性があまり高くないため、一部の依存パッケージが外部で適時に更新されない可能性があります。さらに、このアプローチは他の Go 言語プロジェクトにも影響します。したがって、新しいプロジェクトを作成するとき、または新しいプロジェクトに切り替えるときに、この環境変数をリセットする必要がある場合があります。
ローカル設定モードでは、プロジェクト ディレクトリ内の go.mod
ファイルを変更し、次のコードを追加する必要があります:
go 1.16 mod vendor
ここで、 go 1.16
は Go 言語のバージョン番号で、 mod Vendor
は vendor
ディレクトリ内の依存関係パッケージを使用することを意味します。このようにして、すべての依存ファイルはプロジェクト ディレクトリの vendor
サブディレクトリに配置されます。
この設定方法は非常に柔軟で、バージョン管理ツールと簡単に統合できます。欠点は、各プロジェクトを個別に設定する必要があり、バージョンの競合が発生する可能性があることです。
一般に、ベンダー設定は、Go 言語プロジェクトの依存関係パッケージを管理する際の重要な手順の 1 つです。グローバル設定方法は非常に簡単ですが、依存パッケージをより適切に管理し、プロジェクトの保守性を向上させるために、ローカル設定方法を使用することをお勧めします。
以上がgolang のベンダー設定の問題について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。