如何使用go模块在GAE SE Go 1.11上导入私有存储库?

时间:2018-11-28 05:01:49

标签: google-app-engine go go-modules

我在github上有一个go库软件包存储库作为私有存储库。

我写了一个类似下面的项目,它导入了上面的库包。

package main

import "github.com/foo/libpackage"

func main() {
  :
}

这是目录层次结构。

path/to/project
  |- main.go
  |- go.mod
  `- go.sum

部署时出现错误,无法显示

go: github.com/foo/libpackage@v0.0.0-20181127123728-008fddddc190: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /go/pkg/mod/cache/vcs/25a80f32a1edc8de002fe3d4532abdf933bba77505314d051e4b644faa9cabf6: exit status 128:
        fatal: could not read Username for 'https://github.com': terminal prompts disabled

去mod下载似乎失败了。 我认为这是因为不允许GAE访问私有存储库(这令人信服)

接下来,我尝试运行go mod vendor将存储库下载到供应商目录中。

path/to/project
  |- vendor/...
  |- main.go
  |- go.mod
  `- go.sum

但是我遇到了同样的错误。

帮助!

1 个答案:

答案 0 :(得分:1)

发送github凭证以获取:

git config credential.helper '!f() { sleep 1; echo "username=${GIT_USER}\npassword=${GIT_PASSWORD}"; }; f'

export GIT_USER=github_user
export GIT_PASSWORD=github_password_or_token

go get github.com/foo/libpackage