go mod tidy拉取依赖包bug问题及解决

 更新时间:2023年09月18日 11:15:13   作者:lingwu_hb  
这篇文章主要介绍了go mod tidy拉取依赖包bug问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

go mod tidy

拉取缺少的模块,同时移除不用的模块

该命令会调用go get,然后go get会调用git的命令,拉取代码

go语言其他环境变量

GOSUMDB:

Go checksum database 的缩写,含义如其名字,用于在拉取模块版本时保证拉取到的模块版本数据未经过篡改,若发现不一致,也就是可能存在篡改,将会立即中止。

如果设置为"off",则禁止Go在后续操作中校验模块版本

  • GONOPROXY
  • GONOSUMDB 
  • GOPRIVATE

如果当前项目依赖了私有模块,则配置会涉及这三个环境变量。

例如公司的私有 git 仓库,又或是 github 中的私有库,都是属于私有模块,都是要进行设置的,否则会拉取失败。

简单来说就是应对,GOPROXY 设置的代理或 GOSUMDB 设定的 Go checksum database 代理无法访问模块时的情形。

建议直接设置 GOPRIVATE,它的值将作为 GONOPROXY 和 GONOSUMDB 的默认值,所以建议的最佳设置是直接使用 GOPRIVATE。

问题解决步骤

1.配置GO PRIVATE

由于拉取的公司gtiLab仓库代码是私有的,所以需要配置Go PRIVATE环境变量,用于应对GOPROXY设置的代理无法访问模块的情况。

2.https转ssh

由于https拉取代码需要输入用户名和密码,所以需要将所有的https转换成使用ssh的方式进行拉取

3.配置GIT_SSH

Git error: cannot spawn sh: No such file or directory

配置GIT_SSH后仍然没有解决问题,由于对应报错信息是cannot spawn sh,而不是ssh,所以执行步骤4

  • 4.将/Git/usr/bin加入到系统环境变量
  • 5.关闭vpn,否则会出现验证失败的报错
  • 6.GOPROXY需要配置国内代理

报错信息:

go:Get “https://proxy.golang.org/github.com/gin-gonic/gin/@v/v1.6.3.mod”: dial tcp 64.233.187.141:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

配置GOPROXY后

问题解决!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在Golang中正确的修改HTTPRequest的Host的操作方法

    在Golang中正确的修改HTTPRequest的Host的操作方法

    我们工作中经常需要通过HTTP请求Server的服务,比如脚本批量请求接口跑数据,由于一些网关策略,部分Server会要求请求中Header里面附带Host参数,所以本文给大家介绍了如何在Golang中正确的修改HTTPRequest的Host,需要的朋友可以参考下
    2023-12-12
  • Go通过goroutine实现多协程文件上传的基本流程

    Go通过goroutine实现多协程文件上传的基本流程

    多协程文件上传是指利用多线程或多协程技术,同时上传一个或多个文件,以提高上传效率和速度,本文给大家介绍了Go通过goroutine实现多协程文件上传的基本流程,需要的朋友可以参考下
    2024-05-05
  • 详解go如何优雅的使用接口与继承

    详解go如何优雅的使用接口与继承

    Go语言中的接口和嵌套结构体是两种重要的代码设计方式,接口定义了一组方法签名,使得不同的类型能够以相同的方式进行交互,本文将给大家介绍go语言如何优雅的使用接口与继承,文中有详细的代码供大家参考,需要的朋友可以参考下
    2024-06-06
  • Go语言应该什么情况使用指针

    Go语言应该什么情况使用指针

    go语言的指针类型和C/C++的指针类型用法是一样的,那么Go语言应该什么情况使用指针,本文就详细的介绍一下,感兴趣的可以了解一下
    2021-07-07
  • golang elasticsearch Client的使用详解

    golang elasticsearch Client的使用详解

    这篇文章主要介绍了golang elasticsearch Client的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • 使用Golang的Context管理上下文的方法

    使用Golang的Context管理上下文的方法

    这篇文章主要介绍了使用Golang的Context管理上下文的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Go语言Web开发框架之路由、中间件、参数校验实践记录

    Go语言Web开发框架之路由、中间件、参数校验实践记录

    Gin框架以极简设计、灵活路由分组、可插拔中间件及自动化参数校验闻名,支持多来源数据绑定、结构体验证与统一错误处理,显著提升开发效率与系统维护性,本文给大家介绍Go语言Web开发框架之路由、中间件、参数校验实践记录,感兴趣的朋友一起看看吧
    2025-06-06
  • Go语言Mock单元测试的实现示例

    Go语言Mock单元测试的实现示例

    Go语言Mock单元测试通过模拟外部依赖实现隔离测试,解决传统测试中的环境依赖、结果不稳定和效率问题,感兴趣的可以了解一下
    2025-11-11
  • Golang 拷贝Array或Slice的操作

    Golang 拷贝Array或Slice的操作

    这篇文章主要介绍了Golang 拷贝Array或Slice的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Go中匿名结构体的使用技巧

    Go中匿名结构体的使用技巧

    这篇文章主要给大家分享一个使用匿名结构体,提升Go编程效率的小技巧,没什么技术深度,属于在日常写代码过程中积累下来的一个提升自己编程效率的小经验
    2023-08-08

最新评论