Vercel Golang 无服务器,具有私有依赖

时间:2021-04-06 17:24:20

标签: go vercel

我已经在 Vercel 上部署了我的 Golang sls,现在我正在尝试添加我的一个私人仓库作为依赖项,但是在部署期间我看到了以下错误

Error: Command failed: go mod tidy
go: github.com/user/repo@v0.0.1: reading github.com/user/repo/go.mod at revision v0.0.1: unknown revision v0.0.1

修订版/标签存在,我可以从本地设置和测试所有内容。但是我在任何 vercel docs 中都没有看到如何配置 Vercel 来访问这些私有存储库。 Vercel 拥有对我的 GitHub 私有存储库(依赖项)的读取权限。

1 个答案:

答案 0 :(得分:1)

Go 在幕后使用 git 来拉取依赖项。您需要授予 git 访问您的私有存储库的权限。

在像 TravisCI 这样的构建系统上,授予此类访问权限的典型方法是通过访问令牌和 .netrc 文件,通过 Travis 存储的环境变量填写秘密令牌:< /p>

# .netrc
## generate token with https://help.github.com/articles/creating-an-oauth-token-for-command-line-use
machine github.com login <token>

编辑:

来自Vercel Docs

<块引用>

要使用 go get 安装私有包,请在 vercel.json 中将 GIT_CREDENTIALS 定义为构建环境变量。 ... 使用 GitHub,您将需要创建一个具有权限的个人令牌 访问您的私人存储库。

{
  "build": {
    "env": {
      "GIT_CREDENTIALS": "https://username:token@github.com"
    }
  }
}