一尘不染

如何使-tags netgo成为go的默认设置?

go

要编译我的golang程序包,使其生成静态链接的可执行文件,我必须说:

go install -tags netgo

另外,我现在意识到在没有gcc的系统上,我必须:

go get -tags netgo github.com/mypackage/...
go test -tags netgo ./...

如果您一直在输入此内容,那就不好了。我已经设置了别名,所以可以减少键入,但是是否存在将“ -tags netgo”设置为某种默认值的“ nicer”或“
proper”方式?理想情况下,作为我的软件包本身的一部分,所以一个陌生人尝试与我的软件包一起使用时不会错过-tags netgo。

编辑:我也想说的可能性:

go install -tags netgo -ldflags '-linkmode external -extldflags -static -w'

就是 链接到可以静态编译的C代码。因此,在没有GCC的计算机上工作对我来说比生成静态链接的可执行文件重要。我只是想知道是否有一种方法可以始终不使用-tags
netgo。


阅读 504

收藏
2020-07-02

共1个答案

一尘不染

您可以通过设置来完全禁用cgo,CGO_ENABLED=0这将阻止net软件包链接到主机解析器。

2020-07-02