程序开发 · 2023年11月14日

如何为 go get 命令指定 dns

当前位置: > > > > 如何为 go get 命令指定 dns

来源:stackoverflow
2024-04-25 21:54:36
0浏览
收藏

有志者,事竟成!如果你在学习Golang,那么本文《如何为 go get 命令指定 dns》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

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

go get our-domain.com/group/[email protected]                                            
go: our-domain.com/group/[email protected]: verifying go.mod: our-domain.com/group/[email protected]/go.mod: reading https://sum.golang.org/lookup/our-domain.com/group/[email protected]: 410 gone
        server response: not found: our-domain.com/group/[email protected]: 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 内部构建并将 dns 添加到 /etc/docker/daemon.json ,它就可以工作

{ "dns": ["1.2.3.4"] }

如何在本地获取依赖? 使用 go1.13 在 maco 上运行

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

正确答案

尝试设置 goprivate=our-domain.com

go env -w GOPRIVATE=our-domain.com

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

本篇关于《如何为 go get 命令指定 dns》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注公众号!