如何使用Golang获取程序的所有依赖项文件

73 go

我在golang中创建一个程序,在完成代码之后,如果我想在其他PC或VM上运行此代码,那么它不会获得所有依赖包文件.我怎样才能获得所有依赖文件?

Ron*_*Dev 189

您可以go get -d ./...从项目的目录运行以下载所有可访问的依赖项.
或者将所有src子目录从GOPATH 复制到目标计算机.
...是一种特殊的模式,告诉我递归下去.

  • -t还将安装测试依赖项 (3认同)
  • @AlbertoSchiabel` ...`是一种特殊的模式.它告诉我递归下去.我已经更新了答案 (3认同)

fia*_*jaf 46

尝试

go list -f '{{ join .Imports "\n" }}'
Run Code Online (Sandbox Code Playgroud)

要么

go list -f '{{ join .Deps "\n" }}'
Run Code Online (Sandbox Code Playgroud)

第二个将列出所有子依赖项,第一个只列出直接导入的包.


inf*_*ner 34

下面的命令对我有用,它会下载所有依赖项。

go get -u -v -f all
Run Code Online (Sandbox Code Playgroud)

  • 这需要很长时间!它下载了我在项目中从未使用过的包! (2认同)

小智 17

它是go mod download。欲了解更多信息,请检查go help mod


Ani*_*aul 9

您可以godep save在本地PC上完成程序。godep save会为您收集所有依赖项文件。当您移至另一台PC时,只需将Godep文件夹及其代码复制即可,它将解决您的问题。

  • 也许对某些人来说很明显,但是我不得不去挖掘它。原来,您需要将godep或dep软件包安装到Go中。Github stie在这里:https://github.com/tools/godep (4认同)

Kao*_*ota 8

如果您使用的是模块模式,您可以尝试go mod tidy,如此处所述