要编译我的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。
您可以通过设置来完全禁用cgo,CGO_ENABLED=0这将阻止net软件包链接到主机解析器。
CGO_ENABLED=0