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

我的 Golang 项目依赖于几个包(即https://github.com/mattes/migratehttps://github.com/joho/godotenv)。我知道我可以go getgo install它们分开,但是有没有办法一次性安装项目的所有依赖项?理想情况下,我希望go install ./...migrategodotenv二进制文件放在 my 中$GOPATH/bin,但它只安装主包二进制文件,而不安装依赖项的二进制文件。


梵蒂冈之花
浏览 167回答 1
1回答

九州编程

您是否正在寻求一种方法来从您的本地机器自动从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命令。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go