狮子王K 2026-04-07 07:17 采纳率: 0%
浏览 8

在安装gin时候出现github.com/gin-gonic/gin@v1.12.0: verifying module: missing GOSUMDB

github.com/gin-gonic/gin@v1.12.0: verifying module: missing GOSUMDB

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2026-04-07 07:18
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    你遇到的错误信息是:

    github.com/gin-gonic/gin@v1.12.0: verifying module: missing GOSUMDB
    

    这个错误通常发生在 Go 模块验证 时,系统无法找到 GOSUMDB 的校验数据。这可能是因为你的网络环境限制了对 Go 官方校验服务(如 sum.golang.org)的访问,或者你没有设置正确的 GOSUMDB 环境变量。


    ✅ 解决方案

    1. 设置 GOSUMDB 环境变量

    你可以手动设置 GOSUMDB 环境变量来绕过校验,或者使用国内镜像服务(例如 goproxy.cngoproxy.io)。

    方法一:使用 goproxy.cn 镜像(推荐)

    export GOSUMDB=sum.golang.org
    # 或者使用国内镜像
    export GOSUMDB=off
    

    注意: 如果你设置为 off,则完全跳过校验,可能会有安全风险。

    方法二:使用 goproxy.io 镜像(适用于中国大陆用户)

    export GOPROXY=https://goproxy.io
    

    建议:.bashrc.zshrc 中永久设置该变量。


    2. 修改 go.mod 文件(可选)

    如果你已经下载了模块,但仍然报错,可以尝试以下步骤:

    1. 删除 go.modgo.sum 文件:

      rm go.mod go.sum
      
    2. 重新初始化模块:

      go mod init your-module-name
      
    3. 再次安装依赖:

      go get github.com/gin-gonic/gin@v1.12.0
      

    3. 使用代理(适用于无法直接访问互联网的环境)

    如果你在使用代理,确保 GOPROXY 已正确配置,并且代理支持 HTTPS。


    4. 修改 go 配置(高级)

    你可以通过修改 go 的配置文件来设置默认的 GOPROXYGOSUMDB

    go env -w GOPROXY=https://goproxy.io
    go env -w GOSUMDB=sum.golang.org
    

    注意: 这些设置会保存在 ~/.config/go/env 中,适用于当前用户的全局配置。


    🔧 示例代码(修改后)

    假设你在项目中使用 Gin 框架,修改后的 go.mod 可能如下:

    module your-project
    
    go 1.20
    
    require github.com/gin-gonic/gin v1.12.0
    

    然后运行:

    go get github.com/gin-gonic/gin@v1.12.0
    

    📌 总结

    重点解决方案:

    1. 设置 GOPROXY 环境变量,推荐使用 https://goproxy.io
    2. 设置 GOSUMDB 环境变量,可选择 sum.golang.orgoff
    3. 删除并重新生成 go.modgo.sum,确保依赖正确加载。
    4. 使用 go env -w 命令永久设置配置,避免每次手动设置。

    如果你仍然遇到问题,请提供完整的错误日志,我可以进一步帮助你排查原因。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月7日