【问题标题】:go get -u with modules not working with private repos but go get worksgo get -u 模块不使用私有仓库但 go get 工作
【发布时间】:2020-03-15 05:14:35
【问题描述】:

我现在正在尝试在我的存储库中转换为使用 go 模块,但它一直在退出 128 失败。 未找到存储库 请求的存储库不存在,或者您无权访问它。 致命:无法从远程存储库读取。

请确保您拥有正确的访问权限并且存储库存在。

我的存储库是私有存储库,当我运行go get ./... 且没有模块 GO111MODULE=off 时,我已将 git 配置为使用 ssh 而不是 https,我可以获得存储库。

但是,当我切换到 GO111MODULE=on 上的模块时,我收到了上述错误。我目前的 go vars 是

GO111MODULE=on
GOPROXY=direct
GOSUMDB=off

我已阅读 thisthis 之类的文章来设置 git url 而不是。

这是我的 git 设置

[url "ssh://git@git.company.com:port"]
    insteadOf = https://git.company.com

想法?

谢谢

【问题讨论】:

    标签: git go


    【解决方案1】:

    在较新版本的 Golang 上,您必须在 golang 环境中指定私有存储库,因为私有存储库无法进行校验和。 所以解决方案如下:

    go env -w GOPRIVATE=github.com/username/*
    

    export GOPRIVATE="github.com/username/*"
    

    将 github.com 替换为您的版本控制,如 bitbucket 等。并将 username 替换为您的用户名或您的公司。

    【讨论】:

    • 很抱歉回复晚了,因为这对我来说不是高优先级。我确实添加了一个 GOPRIVATE 环境变量,并且我必须更新我使用的 git 配置来代替。我的配置不正确。谢谢!
    • 后面的星号是不需要的,go把它当作前缀pkg.go.dev/cmd/…
    猜你喜欢
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    相关资源
    最近更新 更多