我有两台机器:Alice
和Bob
。 Alice
未连接到网络,Bob
是。
我想在Alice
上构建并运行一个go程序,但它需要多个依赖项。是否有一种方便的方法来准备Bob
中的所有依赖项,因此我只需要将一个目录从Bob
复制到Alice
并运行go build
(在Alice
上)?
答案 0 :(得分:2)
所有编译源都在$GOPATH
。将其复制到Alice
将为您提供重建包所需的一切。由于您的来源也应该在$GOPATH
,因此不应该复制任何其他内容。
如果您正在使用go1.6 +,或者将go1.5与GO15VENDOREXPERIMENT=1
一起使用,则可以将所有依赖项放入项目的vendor/
子目录中,以将它们打包在一起。< / p>
通过设置GOOS
和GOARCH
环境变量,交叉编译也非常容易(除非您需要cgo)。
Go build reference:https://golang.org/pkg/go/build/
http://dave.cheney.net/2015/08/22/cross-compilation-with-go-1-5