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

时间:2015-09-24 09:45:43

标签: go

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

5 个答案:

答案 0 :(得分:156)

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

答案 1 :(得分:40)

尝试

go list -f '{{ join .Imports "\n" }}'

go list -f '{{ join .Deps "\n" }}'

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

答案 2 :(得分:7)

您可以在完成程序的本地电脑中使用godep save。 godep save为您收集所有依赖项文件。当你移动到其他电脑,只需用你的代码复制Godep文件夹,它将解决你的问题。

答案 3 :(得分:4)

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

go get -u -v -f all

答案 4 :(得分:0)

有史以来最好的方法是获取列表并迭代安装包,这很好用:

while read l; do go get -v "$l"; done < <(go list -f '{{ join .Imports "\n" }}')