登录
首页 >  Golang >  Go问答

如何设置 GOPRIVATE 环境变量

来源:Golang技术栈

时间:2023-04-06 07:08:47 227浏览 收藏

大家好,我们又见面了啊~本文《如何设置 GOPRIVATE 环境变量》的内容中将会涉及到golang等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

我开始研究一个Go项目,它使用来自 Github 私有仓库的一些私有模块,每当我尝试运行go run main.go它时,它都会给我一个以下410 Gone错误:

验证 github.com/repoURL/go- proto@v2.86.0+incompatible/go.mod:github.com/repoURL/go- proto@v2.86.0+incompatible/go.mod:阅读[https://sum.golang。 org/lookup/github.com/!repoURL/go- proto@v2.86.0+incompatible](https://sum.golang.org/lookup/github.com/!repoURL/go- proto@v2.86.0+incompatible) : 410不见了

我可以轻松地从终端克隆私人仓库,这意味着我的ssh密钥配置正确。[我在这里](https://tip.golang.org/cmd/go/#hdr- Module_configuration_for_non_public_modules)读到我需要设置GOPRIVATE环境变量,但我不知道该怎么做。

任何人都可以回答或指向相关教程吗?

转到: v1.13, 操作系统: macOS Mojave

正确答案

简短的回答:

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

要么

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

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

长答案:

查看[“非公共模块的模块配置”](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 repo(本地托管),您可能希望将以下内容添加到您的~/.gitconfig

[url "ssh://git@git.local.intranet/"]
       insteadOf = https://git.local.intranet/

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

今天关于《如何设置 GOPRIVATE 环境变量》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>