首页 > 解决方案 > 如何使用 go 模块在 GAE SE Go 1.11 上导入私有存储库?

问题描述

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

我写了一个像下面这样的项目,导入上面的库包。

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

go mod下载时似乎失败了。我认为这导致不允许 GAE 访问私有存储库(这很有说服力)

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

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

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

帮助!

标签: google-app-enginegogo-modules

解决方案


发送 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

推荐阅读