Go 1.11 でのモジュールの導入により、依存関係の管理が簡単になりました。ただし、ビルド プロセス中に実行する必要があるビルド依存関係を操作する場合 (例: go generated)、特定のアプローチが必要です。
ビルド依存関係をインストールするには、 go get を使用することもできますが、ビルド プロセス中にのみ使用する必要がある依存関係用の専用の「ツール」パッケージを作成することをお勧めします。このパッケージは、必要な依存関係をインポートします。
package tools import ( _ "github.com/aprice/embed/cmd/embed" )
「ツール」パッケージが作成されたら、それを使用するようにコードを更新します。たとえば、go generated 中に embed コマンドを使用したい場合は、ファイルに以下を含めることができます:
// +build tools //go:generate go run -mod=vendor github.com/aprice/embed/cmd/embed config/dev.yaml
ビルドの依存関係が確実に追加されるようにするgo.mod ファイルに移動し、 go mod tiny を実行します。このコマンドは、必要なモジュール宣言を追加します。
モジュール キャッシュを活用し、実行時に依存関係をダウンロードしないようにするには、go mod Vendor を使用してソース コードをベンダーする必要があります。このコマンドは、すべての依存関係をベンダー ディレクトリにコピーします。
ベンダー モードを有効にして go コマンドを使用するには、-mod=vendor フラグを指定します。これは、fmt、generate、build を含むすべての go コマンドに必要です。
go fmt -mod=vendor ./... go generate -mod=vendor ./... go build -mod=vendor ./...
これらの手順に従うことで、Go モジュールにビルドの依存関係を簡単にインストールして使用でき、適切なモジュール管理とビルドの実行が保証されます。
以上がGo モジュールでビルドの依存関係を効果的に管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。