首页 >后端开发 >Golang >Go 模块如何处理像'go get”这样的可安装命令?

Go 模块如何处理像'go get”这样的可安装命令?

Patricia Arquette
Patricia Arquette原创
2024-11-29 09:59:12791浏览

How Do Go Modules Handle Installable Commands Like `go get`?

Go 模块如何与可安装命令交互

Go 模块为 Go 库提供了一个依赖管理系统,允许它们被组织成分层组并在运行期间自动解析和下载。汇编。但是,对于特定的构建依赖项,例如 github.com/aprice/embed/cmd/embed,需要手动安装,过程略有不同。

使用 go get

go get 通常是不是安装构建依赖项的理想工具,因为它主要用于下载要导入的包。相反,您可以使用以下方法来安装和运行此类依赖项:

创建“tools”包

在项目中创建一个tools目录并放置依赖包,例如github。 com/UnnoTed/fileb0x 在此目录中的新文件中(例如,tools/fileb0x.go)。

注释该文件使用 // build tools 注释将其标记为工具,这表明它将不会作为主包的一部分包含在内,而是用作构建时依赖项。

更新 go.mod

运行 go mod tidy 更新 go.mod 文件并将工具依赖项添加到模块中。

Vendoring (可选)

要利用依赖项的模块缓存,您可以通过运行 go modvendor 来提供源代码。这会将所有依赖项复制到项目的供应商目录中。

使用已安装的依赖项

要使用已安装的工具,您需要修改构建命令以包含 -mod=vendor 标志。例如:

go build -mod=vendor ./...
go generate -mod=vendor ./...

按照以下步骤,您可以安装并运行构建依赖项,而无需直接将它们导入到主程序中。

以上是Go 模块如何处理像'go get”这样的可安装命令?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn