随着 Go 1.11 中模块的引入,管理依赖项变得更加容易。但是,当处理需要在构建过程中执行的构建依赖项(例如,gogenerate)时,需要特定的方法。
要安装构建依赖项,您可以使用 go get,但建议为仅在构建过程中需要使用的依赖项创建专用的“工具”包。此包将导入所需的依赖项。
package tools import ( _ "github.com/aprice/embed/cmd/embed" )
创建“tools”包后,更新您的代码以使用它。例如,如果您想在 go build 期间使用 embed 命令,您可以在文件中包含以下内容:
// +build tools //go:generate go run -mod=vendor github.com/aprice/embed/cmd/embed config/dev.yaml
以确保添加构建依赖项在你的 go.mod 文件中,运行 go mod tidy。此命令将添加必要的模块声明。
要利用模块缓存并避免在运行时下载依赖项,您需要使用 go modvendor 供应源代码。此命令会将所有依赖项复制到供应商目录中。
要在启用供应商模式的情况下使用 go 命令,请指定 -mod=vendor 标志。这对于所有 go 命令都是必需的,包括 fmt、generate 和 build。
go fmt -mod=vendor ./... go generate -mod=vendor ./... go build -mod=vendor ./...
通过遵循这些步骤,您可以轻松地在 Go 模块中安装和使用构建依赖项,确保正确的模块管理和构建执行。
以上是如何有效管理Go模块中的构建依赖关系?的详细内容。更多信息请关注PHP中文网其他相关文章!