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

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

Patricia Arquette
发布: 2024-11-29 09:59:12
原创
791 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板