我有一个 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
Run Code Online (Sandbox Code Playgroud)
这个问题在GitLab 支持跟踪器上进行了详细讨论。
TL;博士; 它(故意)被私人仓库破坏:
[你的小组]是私人的吗?如果是这样,这是预期的行为,我建议阅读#1337(评论 36293613)开始的讨论。在这种情况下,我们决定以牺牲可用性为代价来最大限度地提高安全性/隐私性。建议的解决方法是专门将 .git 添加到您的 URL。
我发现的唯一解决方案是使用go get对 的支持.netrc,这既解决了 的问题dep,也解决了现代 Go 模块的问题。
创建一个~/.netrc文件:
machine gitlab.com
login <your gitlab username>
password <the token created in step 1>
Run Code Online (Sandbox Code Playgroud)
.netrc稍微保护一下你的文件:
chmod 600 ~/.netrc
Run Code Online (Sandbox Code Playgroud)
利润
现在应该可以工作:
dep ensure -add gitlab.com/<company>/<subgroup>/<project>
Run Code Online (Sandbox Code Playgroud)
或者
go get gitlab.com/<company>/<subgroup>/<project>
Run Code Online (Sandbox Code Playgroud)
如果您使用的是私有 GitLab 安装,我相信您可以gitlab.com在适用的情况下替换为适当的主机名。
| 归档时间: |
|
| 查看次数: |
2245 次 |
| 最近记录: |