我有一个Go项目,需要一些来自私有GitLab存储库(如git.mydomain.com/myteam/category/subcategory/project.git)的依赖项。但我得到了这个错误。
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
字符串
68de4m5k1#
这个问题在GitLab support tracker上有详细讨论。TL;DR;它(故意)为私人回购而损坏:你的私生活是怎样的呢?如果是这样的话,这是预期的行为,我建议阅读从#1337(comment 36293613)开始的讨论。在这种情况下,我们决定以牺牲可用性为代价来最大化安全/隐私。推荐的解决方案是专门将.git添加到您的URL中。我找到的唯一解决方案是使用go get对.netrc的支持,这解决了dep和现代Go模块的问题。1.在GitLab上创建个人访问令牌,API作用域:x1c 0d1x1.创建~/.netrc文件:
go get
.netrc
dep
~/.netrc
machine gitlab.com login <your gitlab username> password <the token created in step 1>
字符串1.保护您的.netrc文件一点:
chmod 600 ~/.netrc
型1.利润现在应该可以了:
dep ensure -add gitlab.com/<company>/<subgroup>/<project>
型或
go get gitlab.com/<company>/<subgroup>/<project>
型如果您使用的是私有GitLab安装,我相信您会在适用的情况下将gitlab.com替换为适当的主机名。
gitlab.com
ckocjqey2#
我认为最好的解决方案是使用像athens这样的代理服务器。你可以添加Gitlab-Credentials并将其用作代理服务器。然后Athens将处理身份验证。
2条答案
按热度按时间68de4m5k1#
这个问题在GitLab support tracker上有详细讨论。
TL;DR;它(故意)为私人回购而损坏:
你的私生活是怎样的呢?如果是这样的话,这是预期的行为,我建议阅读从#1337(comment 36293613)开始的讨论。在这种情况下,我们决定以牺牲可用性为代价来最大化安全/隐私。推荐的解决方案是专门将.git添加到您的URL中。
我找到的唯一解决方案是使用
go get
对.netrc
的支持,这解决了dep
和现代Go模块的问题。1.在GitLab上创建个人访问令牌,API作用域:x1c 0d1x
1.创建
~/.netrc
文件:字符串
1.保护您的
.netrc
文件一点:型
1.利润
现在应该可以了:
型
或
型
如果您使用的是私有GitLab安装,我相信您会在适用的情况下将
gitlab.com
替换为适当的主机名。ckocjqey2#
我认为最好的解决方案是使用像athens这样的代理服务器。你可以添加Gitlab-Credentials并将其用作代理服务器。然后Athens将处理身份验证。