我开始研究一个Go
项目,它使用来自 Github 私有存储库的一些私有模块,每当我尝试运行时go run main.go
它给了我一个下面的410 Gone
error:
验证 github.com/repoURL/[电子邮件受保护] /cdn-cgi/l/email-protection+不兼容/go.mod:github.com/repoURL/[电子邮件受保护] /cdn-cgi/l/email-protection+不兼容/go.mod:阅读https://sum.golang.org/lookup/github.com/!repoURL/[电子邮件受保护]+不兼容 https://sum.golang.org/lookup/github.com/!repoURL/go-proto@v2.86.0+incompatible:410 走了
我可以轻松地从终端克隆私人仓库,这意味着我的ssh
键配置正确。我读here https://tip.golang.org/cmd/go/#hdr-Module_configuration_for_non_public_modules我需要设置GOPRIVATE
环境变量,但我不知道该怎么做。
有人可以回答或指出相关教程吗?
Go: v1.13, OS:macOS 莫哈维
简短回答:
go env -w GOPRIVATE=github.com/repoURL/private-repo
OR
如果您想允许来自您组织的所有私人存储库
go env -w GOPRIVATE=github.com/<OrgNameHere>/*
长答案:
Check 《非公共模块的模块配置》 https://pkg.go.dev/cmd/go#hdr-Configuration_for_downloading_non_public_code了解更多信息:
GOPRIVATE 环境变量控制 go 命令认为哪些模块是私有的(不可公开使用),因此不应使用代理或校验和数据库。该变量是模块路径前缀的逗号分隔的 glob 模式列表(采用 Go 的 path.Match 语法)。例如,
GOPRIVATE=*.corp.example.com,rsc.io/private
导致 go 命令将路径前缀与任一模式匹配的任何模块视为私有模块,包括 git.corp.example.com/xyzzy、rsc.io/private 和 rsc.io/private/quux。
.
.
“go env -w”命令(请参阅“go help env”)可用于设置这些变量以供将来的 go 命令调用。
ssh使用注意事项:
如果你使用ssh要访问 git 存储库(本地托管),您可能需要将以下内容添加到您的~/.gitconfig
:
[url "ssh://[email protected] /cdn-cgi/l/email-protection/"]
insteadOf = https://git.local.intranet/
for the go
命令能够访问 git 服务器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)