在将dep用于golang时如何从供应商文件夹中排除内部依赖项

时间:2019-03-25 11:35:35

标签: go dependencies dependency-management

我有一个依赖于内部git存储库中其他两个项目的项目。 GOPATH中已经存在该文件。 我面临的问题是,dep-init -gopath仍将这些项目复制到v​​endor /目录下。

因此,我正在使用的GoLand IDE混淆了要解决依赖关系的位置。 (我希望它从GOPATH而不是Vendor目录中解析)如果删除了vendor /目录,该程序将运行。

我的Gopkg.toml文件如下:

[[constraint]]
  branch = "master"
  name = "github.com/sirupsen/logrus"

[[constraint]]
  branch = "master"
  name = "github.com/stretchr/testify"

[[constraint]]
  branch = "master"
  name = "gitlab.internal.com/vapi/goabc"

[[constraint]]
  branch = "master"
  name = "gitlab.internal.com/vapi/goxyz"

[prune]
  go-tests = true
  unused-packages = true

哪里 "gitlab.internal.com/vapi/goabc""gitlab.internal.com/vapi/goxyz" 是该项目所依赖的内部项目。

我尝试将依赖项添加到忽略列表[https://golang.github.io/dep/docs/Gopkg.toml.html#ignored]

但是goxyz和goabc仍被下载到供应商/ 如何从供应商目录中删除它们?

1 个答案:

答案 0 :(得分:0)

ignored = [
  "gitlab.internal.com/vapi/goabc*",
  "gitlab.internal.com/vapi/goxyz*"
]

这是个窍门,之前我没有放置通配符,而其他软件包的导入却迫使dep无论如何都要下载项目。