我在golang中创建一个程序,在完成代码之后,如果我想在其他PC或VM上运行此代码,那么它不会获得所有依赖包文件。我怎样才能获得所有依赖文件?
答案 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" }}')