本篇文章为大家展示了如何解决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包管理相关问题,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。