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后

问题解决!

总结

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

相关文章

  • go语言编程学习实现图的广度与深度优先搜索

    go语言编程学习实现图的广度与深度优先搜索

    这篇文章主要为大家介绍了go语言编程学习实现图的广度与深度优先搜索示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • 深入理解Golang中WebSocket和WSS的支持

    深入理解Golang中WebSocket和WSS的支持

    本文主要介绍了深入理解Golang中WebSocket和WSS的支持,实现了Golang构建WebSocket服务器和客户端,并使用自签名证书实现WSS的功能,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Golang实现http server提供压缩文件下载功能

    Golang实现http server提供压缩文件下载功能

    这篇文章主要介绍了Golang实现http server提供压缩文件下载功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Go爬虫(http、goquery和colly)详解

    Go爬虫(http、goquery和colly)详解

    goquery可以避免操作复杂的正则表达式,它可以直接根据url获取一个Document对象,然后根据标签选择器、类选择器和id选择器获取相应的选择对象,进行自定义的操作,这篇文章主要介绍了Go爬虫(http、goquery和colly),需要的朋友可以参考下
    2022-09-09
  • VSCode配置Go插件和第三方拓展包的详细教程

    VSCode配置Go插件和第三方拓展包的详细教程

    这篇文章主要介绍了VSCode配置Go插件和第三方拓展包的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 深入理解 Go 中的字符串

    深入理解 Go 中的字符串

    这篇文章主要介绍了深入理解 Go 中的字符串,在编程语言中,字符串发挥着重要的角色。字符串背后的数据结构一般有两种类型,一种在编译时指定长度不能修改,一种具有动态的长度可以修改,下文更多相关资料需要的小伙伴可以参考一下
    2022-05-05
  • Go CSV包实现结构体和csv内容互转工具详解

    Go CSV包实现结构体和csv内容互转工具详解

    这篇文章主要介绍了Go CSV包实现结构体和csv内容互转工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 一文掌握go的sync.RWMutex锁

    一文掌握go的sync.RWMutex锁

    这篇文章主要介绍了一文掌握go的sync.RWMutex锁,本文是为了在面试中能快速口述RW锁,并非为了完整解答RW锁的机制,需要的朋友可以参考下
    2023-03-03
  • 详解Golang中的各种时间操作

    详解Golang中的各种时间操作

    这篇文章主要介绍了详解Golang中的各种时间操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 优雅管理Go Project生命周期

    优雅管理Go Project生命周期

    这篇文章主要为大家介绍了如何优雅的管理Go Project生命周期,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03

最新评论