为了账号安全,请及时绑定邮箱和手机立即绑定

如何安装依赖的二进制文件?

如何安装依赖的二进制文件?

Go
梵蒂冈之花 2022-01-04 10:51:15
我的 Golang 项目依赖于几个包(即https://github.com/mattes/migrate和https://github.com/joho/godotenv)。我知道我可以go get或go install它们分开,但是有没有办法一次性安装项目的所有依赖项?理想情况下,我希望go install ./...将migrate和godotenv二进制文件放在 my 中$GOPATH/bin,但它只安装主包二进制文件,而不安装依赖项的二进制文件。
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

您是否正在寻求一种方法来从您的本地机器自动从go install ./...您的代码中安装您想要调用的二进制文件?

直接使用 Go 不会发生这种情况,除非它们以相同的用户名或模式列出,您可以键入单个 go install 命令。但只是上面列出的两个不同,这不可能发生。

选项 1) 向您的用户说明调用go install每个依赖项(这很常见)。

选项 2) 或者,创建一个 bash/batch 文件以install.sh在您的存储库中使用简单的命令运行它们。其中,将需要go install您的所有依赖项。另一种更像 UNIX/C 的方法是创建一个Makefile,并告诉您的用户运行make

就我个人而言,我更喜欢选项 2,因为它可以让您对服务或实用程序进行非常复杂的控制。你可以从简单开始;但是,稍后再添加测试、go generate命令以及您将来喜欢的任何其他内容 - 所有这些都无需更改您的安装说明just run 'make install' and it will handle it。它还有助于 CI 服务器,您可以拥有一个make test或任何您想要的东西;但是,与普通用户通常会运行它的不同。所有,在一个单一的Makefile,您可以稍后更改。

我认为我的更新程序脚本有 25 个go get -u -v命令。


查看完整回答
反对 回复 2022-01-04
  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信