You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为go get命令指定DNS以拉取公司GitLab内部依赖包

本地Go get使用指定DNS拉取内部私有依赖的解决方案

根因说明

报错有两个核心诱因:

  1. Go 1.13默认会对所有依赖包请求公共校验服务器sum.golang.org做哈希校验,内部私有包不在公共校验库中,会直接返回410错误
  2. 你的DNS请求被劫持到了公共DNS8.8.8.8,无法解析公司内部域名

具体操作步骤

  • 第一步:配置Go跳过私有域名的公共校验与代理
    执行以下命令配置环境变量,将公司域名加入私有包列表,不走公共校验和代理:
    go env -w GOPRIVATE=our-domain.com
    go env -w GONOSUMDB=our-domain.com
    go env -w GONOPROXY=our-domain.com
    
  • 第二步:确认并修复本地DNS生效问题
    1. 先查看当前终端生效的DNS列表,确认公司DNS1.2.3.4优先级最高:
      scutil --dns | grep nameserver
      
    2. 如果公司DNS不在列表最前面,刷新MacOS DNS缓存:
      sudo dscacheutil -flushcache
      sudo killall -HUP mDNSResponder
      
    3. 如果你本地开了代理工具,大概率是代理强制劫持DNS到公共服务器,需要把our-domain.com加入代理的直连/绕过列表,或者临时关闭代理后再测试。
  • 第三步:兜底方案
    如果DNS配置始终不生效,可以直接修改本地hosts文件强制绑定域名IP,绕开DNS解析:
    sudo echo "你公司域名对应的实际IP our-domain.com" >> /etc/hosts
    
    也可以配置git走SSH协议拉取代码,绕开HTTPS的DNS校验:
    git config --global url."git@our-domain.com:".insteadOf "https://our-domain.com/"
    

内容的提问来源于stack exchange,提问作者Izbassar Tolegen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:39:04