go - 将 dep 用于 golang 时如何从 vendor 文件夹中排除内部依赖项

标签 go dependencies dependency-management

我有一个项目依赖于内部 git 存储库中的另外两个项目。它已经存在于 GOPATH 中。 我面临的问题是,dep-init -gopath 仍会复制 vendor/目录下的那些项目。

因此,我使用的 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还是下载到了vendor/ 我怎样才能从 vendor 目录中删除它们?

最佳答案

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

成功了,之前我没有放置通配符和其他包导入迫使 dep 无论如何都要下载项目。

关于go - 将 dep 用于 golang 时如何从 vendor 文件夹中排除内部依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55336907/

相关文章:

go - 使用 gin 和 gorm 在 go lang 中对创建和更新操作使用相同的结构

go - 文本/模板问题 Parse() 与 ParseFiles()

java - 将测试数据从一个测试用例传递到另一个测试用例

java - ASTParser 和方法之间的依赖关系

go - 在 Golang 中创建数组文字数组

go - 如何在不使用迭代器的情况下在 Golang 中循环?

android - Gradle:从发行版本中排除外部依赖项(lib)

groovy - 使用 Gradle 从私有(private) Amazon S3 存储库下载依赖项

java - 限制 Java 包之间的依赖关系

javascript - ES6 模块导入和依赖管理