Go Mod私人回购

时间:2018-09-06 17:52:54

标签: go vgo

所以我有一个私人仓库,由main.go导入。我进行构建时出现此错误:

找不到路径模块

我需要为私人回购做些特别的事情吗?我一直在谷歌搜索,找不到任何好的信息。可以配合dep使用。

4 个答案:

答案 0 :(得分:1)

您应该使用SSH密钥来获取您的存储库,并检查SSH密钥是否也位于系统密钥链中:

ssh-add -K ~/.ssh/id_rsa

答案 1 :(得分:1)

执行此操作

git config --global --add url."git@your-repo.com:".insteadOf "https://your-repo.com/"
export GOPRIVATE='your-repo.com'

确保通过ssh进行的git克隆正常工作。

答案 2 :(得分:0)

鉴于此类私有存储库通常处于积极开发中,因此我个人将其克隆到expect(['head','tails']).to include(flip_coin)中的“适当”位置,并像其他任何项目一样使用源代码管理(例如git)。像Rodrigo的回答中那样添加SSH密钥是很好的,但是无论如何,如果您正在积极开发私有存储库,那么将其克隆到正确目录的额外步骤与{{1}它。

例如,对于托管在Github上的私人仓库,我会先$GOPATHgo get然后cd

答案 3 :(得分:0)

(与this SO Question重复的答案)

我在Go Modules with Private Git Repositories媒介上为此编写了一个解决方案。

我们处理它的方式与Alex Pliutau中的答案基本相同,并且该博客以示例为例,对如何使用GitHub / GitLab / BitBucket中的令牌设置git config进行了更详细的介绍。它还进入了一个有效的Dockerfile示例,该示例使用带有私有存储库的模块。

GitLab的相关位:

git config --global \
  url."https://oauth2:${personal_access_token}@privategitlab.com".insteadOf \
  "https://privategitlab.com"

#or 

git config --global \
  url."https://${user}:${personal_access_token}@privategitlab.com".insteadOf \
  "https://privategitlab.com"

我希望这会有所帮助。