开发者

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

开发者 https://www.devze.com 2023-11-21 11:39 出处:网络 作者: lingwu_hb
目录go mod tidygo语言其他环境变量问题解决步骤总结go mod tidy 拉python取缺少的模块,同时移除不用的模块
目录
  • go mod tidy
  • go语言其他环境变量
  • 问题解决步骤
  • 总结

go mod tidy

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

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

go语言其他环境变量

GOSUMDB:

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

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

  • GONOPROXY
  • GONOSUMDB 
  • G编程客栈OPRIVATE

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

例如公司的私有 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: cannJzcdKJlot spawn sh: No such file or directory

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

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

报错信息:

go:Get “https://proxy.golang.org/github.com/gin-gonic/gin/@v/v1.6.3.mod”: dial tcp 64.233.18python7.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后

问题解决!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号