我用Go语言编写了一个程序,在完成代码后,如果我想在其他PC或VM上运行这个代码,那么它不会获得所有的依赖包文件。我如何才能获得所有的依赖文件?
mutmk8jj1#
您可以从项目的目录中运行go get -d ./...来下载所有可获取的依赖项。或者将GOPATH中的所有src子目录复制到目标计算机。...是一个特殊的模式,告诉递归下降。
go get -d ./...
src
...
vyswwuz22#
试试看
go list -f '{{ join .Imports "\n" }}'
或
go list -f '{{ join .Deps "\n" }}'
第二个将列出所有子依赖项,第一个仅列出直接导入的包。
ohtdti5x3#
下面的命令为我工作,它下载所有的依赖项。
go get -u -v -f all
dgtucam14#
它是go mod download。更多信息请查看go help mod
go mod download
go help mod
mxg2im7a5#
您可以在完成程序的本地PC上使用godep save。godep保存为您收集所有依赖文件。当您移动到其他PC时,只需将代码复制到Godep文件夹,它将解决您的问题。
godep save
ctzwtxfj6#
如果您使用的是模块模式,您可以尝试go mod tidy,如下所述。
go mod tidy
eaf3rand7#
最好的方法是获取列表并迭代安装软件包,这工作得很好:
while read l; do go get -v "$l"; done < <(go list -f '{{ join .Imports "\n" }}')
7条答案
按热度按时间mutmk8jj1#
您可以从项目的目录中运行
go get -d ./...
来下载所有可获取的依赖项。或者将GOPATH中的所有
src
子目录复制到目标计算机。...
是一个特殊的模式,告诉递归下降。vyswwuz22#
试试看
或
第二个将列出所有子依赖项,第一个仅列出直接导入的包。
ohtdti5x3#
下面的命令为我工作,它下载所有的依赖项。
dgtucam14#
它是
go mod download
。更多信息请查看go help mod
mxg2im7a5#
您可以在完成程序的本地PC上使用
godep save
。godep保存为您收集所有依赖文件。当您移动到其他PC时,只需将代码复制到Godep文件夹,它将解决您的问题。ctzwtxfj6#
如果您使用的是模块模式,您可以尝试
go mod tidy
,如下所述。eaf3rand7#
最好的方法是获取列表并迭代安装软件包,这工作得很好: