登录
首页 >  Golang >  Go问答

如何将 Go dep 与 GitLab 子组一起使用

来源:Golang技术栈

时间:2023-03-30 12:44:27 158浏览 收藏

一分耕耘,一分收获!既然都打开这篇《如何将 Go dep 与 GitLab 子组一起使用》,就坚持看下去,学下去吧!本文主要会给大家讲到golang等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我有一个 Go 项目,它需要来自私有 GitLab 存储库(如 git.mydomain.com/myteam/category/subcategory/project.git)的一些依赖项。但我收到了这个错误。

ensure Solve(): remote repository at https://git.mydomain.com/myteam/category.git does not exist or is inaccessible: : exit status 128

正确答案

[这个问题在GitLab 支持跟踪器](https://gitlab.com/gitlab-org/gitlab- ce/issues/37832)上进行了详细讨论。

TL;博士; 它(故意)[被私人回购打破](https://gitlab.com/gitlab-org/gitlab- ce/issues/37832#note_53668438):

[您的小组] 是私人的吗?如果是这样,这是预期的行为,我建议从[#1337(评论 36293613)](https://gitlab.com/gitlab-org/gitlab- ce/issues/1337#note_36293613)开始阅读讨论。在这种情况下,我们决定以牺牲可用性为代价来最大限度地提高安全性/隐私性。推荐的解决方法是专门将 .git 添加到您的 URL。

我发现的唯一解决方案是使用[go get's support for.netrc](https://github.com/golang/dep/blob/master/docs/FAQ.md#how-do-i- get-dep-to-consume-private-git-repos-using-a-github-token),它解决了 fordep以及现代 Go 模块的问题。

  1. 使用api 范围 在 GitLab 上创建个人访问令牌:在此处输入图像描述

  2. 创建一个~/.netrc文件:

    machine gitlab.com
    login 
    password 
  3. .netrc稍微保护您的文件:

    chmod 600 ~/.netrc
    
  4. 利润

现在应该可以工作了:

    dep ensure -add gitlab.com///

如果您使用的是私有 GitLab 安装,我相信您会gitlab.com在适用的情况下替换为适当的主机名。

到这里,我们也就讲完了《如何将 Go dep 与 GitLab 子组一起使用》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于golang的知识点!

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