git - go get -u 模块不使用私有(private)仓库但 go get 工作

标签 git go

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

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

我的仓库是私有(private)仓库,当我运行 go get ./... 时,我将 git 配置为使用 ssh 而不是 https没有模块 GO111MODULE=off 我能够获得 repo 。

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

GO111MODULE=on
GOPROXY=direct
GOSUMDB=off

我读过 this 之类的文章和 this设置 git url 而不是。

这是我的 git 设置
[url "ssh://git@git.company.com:port"]
    insteadOf = https://git.company.com

想法?

谢谢

最佳答案

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

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

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

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

关于git - go get -u 模块不使用私有(private)仓库但 go get 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60686107/

相关文章:

git - 使用 ediff 作为 git mergetool

networking - 使用特定地址/接口(interface)拨号?戈朗

go - 如何使用 golang viper Watchconfig & onConfigChange

error-handling - 用于抽象资源分配/解除分配的惯用 Go

json - 通过 Go 在 Protocol Buffers v3 的 oneOf 字段中使用结构

websocket - Golang Server关闭客户端连接: websocket

git - 如何取消子模块 Git 子模块?

Git:如何将标记的修订 pull 入我的 fork 中?

Python 预提交单元测试失败

node.js - 在 WebStorm 和 SourceTree 中使用 NVM 时 Git Hooks 错误