【发布时间】:2020-11-12 17:42:25
【问题描述】:
我正在尝试从 github 获取项目的特定包。
但是,当我使用 go get [url] 或 go mod vendor 时,由于缺乏对我公司的一个存储库的权限,我收到了 git fetch 错误。这个 repo 是 vendored,这就是我们如何绕过它进行 go test、go build 等。
这是错误信息:
go: private.work.repo.com/project/repo@v0.0.0-20190703160253-9c6eb80851f1: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in C:\Users\NICHOLAS.TAN\go\pkg\mod\cache\vcs\37594aeb10b98234e04b4780cf59f32c4ad7bb9da460f552103ae748cea73aa1: exit status 128:
fatal: remote error: Repository not found
The requested repository does not exist, or you do not have permission to
access it.
有没有办法让我使用go get 和/或go mod vendor 而无需这些命令尝试查看其他模块依赖项?
【问题讨论】:
-
你不能使用
go get <package name>来获取你需要的包吗? -
你的 go 版本是什么?你能粘贴
go env的结果吗? -
使用
GOPRIVATE=*.corp.com go get [url]会将*.corp.com从 go modules 代理中排除,这是从私有仓库获取问题的常见原因。 -
@whitespace 我将更新问题以使其更清楚,但问题是如果我的项目有一个依赖模块“A”需要访问私有仓库,当我尝试“去获取 B”时,我会收到一个关于无法访问 repo A 的错误。
-
@hyz 我的 go 版本是 1.14.6,here is my go env (with a little bit edited for work reasons)
标签: go go-modules govendor go-get