如何为 go get 命令指定 dns

How to specify dns for go get command

我有一个发布在公司 GitLab 中的依赖项,只能通过某个 dns 服务器的域名发现。 go get 命令无法获取对我的本地环境的依赖,如下所示:

go get our-domain.com/group/library@v0.1.0                                            
go: our-domain.com/group/library@v0.1.0: verifying go.mod: our-domain.com/group/library@v0.1.0/go.mod: reading https://sum.golang.org/lookup/our-domain.com/group/library@v0.1.0: 410 Gone
        server response: not found: our-domain.com/group/library@v0.1.0: unrecognized import path "our-domain.com/group/library": https fetch: Get "https://our-domain.com/group/library?go-get=1": dial tcp: lookup our-domain.com on 8.8.8.8:53: no such host

如果我在 docker 内部构建并向 /etc/docker/daemon.json

添加 dns,它会起作用
{ "dns": ["1.2.3.4"] }

如何在本地获得依赖? 运行 在带有 go1.13 的 MacO 上

我尝试将 DNS 地址添加到网络设置,但 go get 仍然没有使用它。

尝试设置 GOPRIVATE=our-domain.com.

go env -w GOPRIVATE=our-domain.com

否则该命令会尝试使用 Go 代理和校验和数据库解析名称。