如何设置GOPRIVATE环境变量
我开始从事一个如何设置GOPRIVATE环境变量,go,environment-variables,go-modules,Go,Environment Variables,Go Modules,我开始从事一个Go项目,它使用Github private repos中的一些私有模块,每当我尝试运行Go-run main时,它都会给我一个如下410 Go错误: 正在验证github.com/repoURL/go-proto@v2.86.0+incompatible/go.mod:github.com/repoURL/go-proto@v2.86.0+incompatible/go.mod:读数:410消失 我可以很容易地从终端克隆私有repo,这意味着我的ssh密钥配置正确。我读到我需要设
Go
项目,它使用Github private repos中的一些私有模块,每当我尝试运行Go-run main时,它都会给我一个如下410 Go
错误:
正在验证github.com/repoURL/go-proto@v2.86.0+incompatible/go.mod:github.com/repoURL/go-proto@v2.86.0+incompatible/go.mod:读数:410消失
我可以很容易地从终端克隆私有repo,这意味着我的ssh
密钥配置正确。我读到我需要设置GOPRIVATE
环境变量,但我不知道该怎么做
有人能回答或指向相关教程吗
Go:v1.13,OS:macOS Mojave简短回答:
go-env-w GOPRIVATE=github.com/repoURL/private-repo
或
如果您希望允许组织的所有私人回购
go env-w GOPRIVATE=github.com//*
长答覆:
查看更多信息:
GOPRIVATE环境变量控制go命令认为私有(不公开)的模块,因此不应使用代理或校验和数据库。变量是以逗号分隔的模块路径前缀的全局模式列表(语法为Go的path.Match)。比如说,
GOPRIVATE=*.corp.example.com,rsc.io/private
使go命令将路径前缀与任一模式匹配的任何模块(包括git.corp.example.com/xyzzy、rsc.io/private和rsc.io/private/qux)视为专用模块
。
“go env-w”命令(请参阅“go help env”)可用于为将来的go命令调用设置这些变量
关于ssh使用的注意事项:
如果使用ssh访问git repo(本地托管),则可能需要将以下内容添加到~/.gitconfig
:
[url”ssh://git@git.local.intranet/“]
代替=https://git.local.intranet/
对于能够访问git服务器的go
命令。这是ssh使用的后续说明,以下是用于使其工作的命令:
GitHub:
git config --global url."git@github.com:".insteadOf "https://github.com/"
比特桶:
git config --global url."git@bitbucket.org:".insteadOf "https://bitbucket.org/"
man$(basename$SHELL)
有一个围棋帮助:go-help-module-private
或者只是为了让生活更简单,export-GOPRIVATE=*
这是一个很好的问题。谢谢!现在正在工作,所以诀窍是使用带有组织名称的通配符urlgo env-w GOPRIVATE=github.com/{OrgNameHere}/*
对于主要使用私有代码进行编码的人来说可能更容易使用export GOPRIVATE=*
使用export GOPRIVATE=*
将当前目录中的所有文件名分配给GOPRIVATE,这不是您想要的。这是一个很好的答案。谢谢你的回答。我喜欢这个答案,即使是现在,我仍然喜欢这个答案,并且可能会在很长一段时间内继续喜欢它。也许几年吧。