go get 如何下载私有gitlab仓库的私有项目

moluzhui · 2023-11-19 00:46:43 · 1252 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2023-11-19 00:46:43 的主题,其中的信息可能已经有所发展或是发生改变。

我有一个项目需要引用公司内部gitlab仓库的私有项目。我通过go env 配置和git config配置 均无法实现拉取,并且报 404错误 示例如下:

$ go env -w GOPRIVATE=gitlab.mycompany.com
$ go env -w GOINSECURE=gitlab.mycompany.com
$ go env -w GONOPROXY=gitlab.mycompany.com
# 配置  ~/.netrc 文件
$ go get -v -x gitlab.mycompany.com/testgroup/compkg
# get https://gitlab.mycompany.com/?go-get=1
# get https://gitlab.mycompany.com/testgroup/testpkg?go-get=1
# get https://gitlab.mycompany.com/testgroup?go-get=1
# get https://gitlab.mycompany.com/testgroup?go-get=1: 404 Not Found (0.044s)
# get https://gitlab.mycompany.com/?go-get=1: 403 Forbidden (0.044s)
# get https://gitlab.mycompany.com/testgroup/testpkg?go-get=1: 404 Not Found (0.044s)
# get https://gitlab.mycompany.com/testgroup/testpkg?go-get=1
# get https://gitlab.mycompany.com/testgroup?go-get=1
# get https://gitlab.mycompany.com/?go-get=1
# get https://gitlab.mycompany.com/testgroup/testpkg?go-get=1: 404 Not Found (0.001s)
# get https://gitlab.mycompany.com/testgroup?go-get=1: 404 Not Found (0.001s)
# get https://gitlab.mycompany.com/?go-get=1: 403 Forbidden (0.002s)
go get: unrecognized import path "gitlab.mycompany.com/testgroup/testpkg": reading https://gitlab.mycompany.com/testgroup/testpkg?go-get=1: 404 Not Found

然后我修改http to ssh 和 https添加内容

# git 配置1
$ git config --global url."git@gitlab.mycompany.com:".insteadOf "https://gitlab.mycompany.com"
$ go get -v -x gitlab.mycompany.com/testgroup/compkg
# 错误和上一个代码块中的相同

# git 配置2
$ git config --global url."https://${user}:${personal_access_token}@gitlab.mycompany.com".insteadOf "gitlab.mycompany.com"
$ go get -v -x gitlab.mycompany.com/testgroup/compkg
# 错误和上一个代码块中的相同

请问是否是我配置错误,还是说需要通过其他方式才能完成下载。麻烦各位大佬了

PS: 私有gitlab 版本: Gitlab Community Edition 13.6.7


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1252 次点击  
加入收藏 微博
1 回复  |  直到 2023-11-20 15:59:24
guokun1998
guokun1998 · #1 · 大约1年之前

可以访问 https://gitlab.mycompany.com/testgroup/testpkg?go-get=1,能否访问,以及返回的html中是否有header:go-import等。 404的错误很少见,你确定仓库地址正确? 一般情况下,不用配置后面的ssh替代。

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传