【问题标题】:how can i properly vendor github.com/docker/docker?我怎样才能正确地供应商 github.com/docker/docker?
【发布时间】:2019-02-14 06:33:35
【问题描述】:

这里是我的 main.go

package cmd

import (
    "context"
    "fmt"

    "github.com/docker/docker/api/types"
    "github.com/docker/docker/client"
)

func main() {
    cli, err := client.NewClientWithOpts(client.WithVersion("1.38"))
    if err != nil {
        panic(err)
    }

    networks, err := cli.NetworkList(context.Background(), types.NetworkListOptions{})
    if err != nil {
        panic(err)
    }
    fmt.Println(networks)
}

我尝试运行dep init,但供应商文件夹以旧版本的 docker/docker 结束,因为最新的标签是 17.05 试图固定实际提交,但这也不起作用

我试了一下go mod vendor,但这也依赖于 git 标签

奇怪的是,docker/docker 是 moby/moby 和 docker/engine 的别名。

任何人都可以解释我并举例说明我如何成功地使用 docker API 的 vendoring?

【问题讨论】:

  • 当您尝试将 dep 更新为“实际提交”时,您采取了哪些步骤?使用 git commit 哈希通常有效。您需要使用新参考更新Gopkg.toml 并运行dep ensure,如下所述:golang.github.io/dep/docs/daily-dep.html

标签: api docker go vendor


【解决方案1】:
[[constraint]]
  name = "github.com/docker/docker"
  branch = "master"

[[override]]
  name = "github.com/docker/distribution"
  branch = "master"

实际上这两个条目帮助解决了Gopkg.toml中的依赖问题,然后运行dep ensure

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 2021-06-21
    • 2016-06-15
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多