为了账号安全,请及时绑定邮箱和手机立即绑定

如何设置 GOPRIVATE 环境变量

如何设置 GOPRIVATE 环境变量

Go
繁华开满天机 2023-07-26 19:58:57
我开始开发一个Go项目,它使用 Github 私有存储库中的一些私有模块,每当我尝试运行时,go run main.go它都会出现以下410 Gone错误:验证 github.com/repoURL/go-proto@v2.86.0+inknown/go.mod:github.com/repoURL/go-proto@v2.86.0+inknown/go.mod:阅读https://sum.golang。 org/lookup/github.com/!repoURL/go-proto@v2.86.0+不兼容:410 消失我可以轻松地从终端克隆私人存储库,这意味着我的ssh密钥配置正确。我需要设置GOPRIVATE环境变量,但我不知道如何做到这一点。有人可以回答吗?Go: v1.13,操作系统: macOS Mojave
查看完整描述

4 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

简短回答:

go env -w GOPRIVATE=github.com/repoURL/private-repo

或者

如果您想允许来自您组织的所有私人存储库

go env -w GOPRIVATE=github.com/<OrgNameHere>/*

长答案:

检查“非公共模块的模块配置”以获取更多信息:

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://git@git.local.intranet/"]
       insteadOf = https://git.local.intranet/

go命令能够访问 git 服务器。


查看完整回答
反对 回复 2023-07-26
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

如果 zsh 使用:

go env -w GOPRIVATE='gitlab.my_firm_name.com/*'

否则得到

zsh: no matches found: GOPRIVATE=gitlab.my_firm_name.com/*


查看完整回答
反对 回复 2023-07-26
?
Qyouu

TA贡献1786条经验 获得超11个赞

只是 ssh 用法的后续,这是用于使其工作的命令:

GitHub:

git config --global url."git@github.com:".insteadOf "https://github.com/"

位桶:

git config --global url."git@bitbucket.org:".insteadOf "https://bitbucket.org/"


查看完整回答
反对 回复 2023-07-26
?
繁星coding

TA贡献1797条经验 获得超4个赞

如果使用 zsh,请/在之前添加通配符,如下所示: go env -w GOPRIVATE=github.com/<OrgNameHere>\/*



查看完整回答
反对 回复 2023-07-26
  • 4 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信