要编译我的golang包以便它生成一个静态链接的可执行文件,我必须说:
go install -tags netgo
此外,我现在意识到在没有gcc的系统上,我必须:
go get -tags netgo github.com/mypackage/...
go test -tags netgo ./...
如果你一直在输入这个,那就不那么好了。我设置了别名,所以我可以输入更少,但是有一个更好的"或"适当的"将-tags netgo设置为某种默认方式?理想情况下,作为我的包本身的一部分,所以试图使用我的包的陌生人不会错过-tags netgo。
编辑:我也想说:
go install -tags netgo -ldflags '-linkmode external -extldflags -static -w'
IE中。链接到可以静态编译的C代码。因此,在没有GCC的机器上工作对我来说不如生成静态链接的可执行文件重要。我只是想知道是否有办法在不说-tags netgo的情况下完成后者。
答案 0 :(得分:4)
您可以通过设置CGO_ENABLED=0
来完全禁用cgo,这将阻止网络包链接到主机解析程序。