新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章为大家展示了如何解决go包管理相关问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
专注于为中小企业提供做网站、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业南票免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
export GO111MODULE=on
export GOPROXY=https://goproxy.io
轻松解决类似下面的问题: go get golang.org/x/sys: unrecognized import path "golang.org/x/sys" (https fetch: Get https://golang.org/x/sys?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
有些repo我们不希望走代理,比如公司内部repo,需要单独设置: export GOPRIVATE="gitlab.xxx.com" GONOPROXY="gitlab.xxx.com"
export GOPROXY=direct, 关闭。
go env -w GOPRIVATE=gitlab.xxx.com
问题: fatal: could not read Username for 'https://gitlab.xxx.com': terminal prompts disabled
办法: git config --add --global url."git@gitlab.xxx.com:".insteadOf https://gitlab.xxx.com
参考: https://erwinvaneyk.nl/private-repositories-with-go-mod/
go get -d gitlab.xxx.com/xxx/containerd@80c0ab87fbe6888064cd243aa6a6be77aa7968bf 在go.mod中,在requires里把私有repo删掉,在replace中更新如下: github.com/containerd/containerd v1.4.0 => gitlab.xxx.com/xxx/containerd v0.0.0-20201202101137-80c0ab87fbe6
然后刷新: go mod vendor
go clean -modcache rm go.sum go mod tidy
containerd项目, 使用如下: vndr github.com/containerd/cri 362dc5e4e008912d93876d0d194ab0bf6a469aa2 git@gitlab.xxx.com:eci-depend/cri.git
背景:https://goproxy.io/zh/docs/GOSUMDB-env.html
错误: go get -d gitlab.xxx.com/yyy/cri@zzz
go: k8s.io/node-problem-detector@v0.0.0-00010101000000-000000000000 requires github.com/euank/go-kmsg-parser@v2.0.1+incompatible: verifying go.mod: github.com/euank/go-kmsg-parser@v2.0.1+incompatible/go.mod: reading https://goproxy.io/sumdb/sum.golang.org/lookup/github.com/euank/go-kmsg-parser@v2.0.1+incompatible: 410 Gone server response: not found: github.com/euank/go-kmsg-parser@v2.0.1+incompatible: invalid version: +incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required
解决: export GOSUMDB=off
上述内容就是如何解决go包管理相关问题,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。