代码之家  ›  专栏  ›  技术社区  ›  jdi

展平主依赖的传递依赖

  •  6
  • jdi  · 技术社区  · 6 年前

    Glide ,使用Go 1.11.x module support . 但是我在一个项目中遇到了一个特殊的情况,使用了我无法解决的模块。

    内部项目“foo”通过“go mod vendor”提供其依赖项:

    projects/src/foo/
        main.go
        vendor/
            ...
    

    现在我正在尝试允许项目'bar'使用库'foo'构建一个工具。

    package bar
    
    import "internal.com/project/foo"
    

    module internal.com/project/bar
    
    require internal.com/project/foo v0.0.0-...
    

    我将通过:

    go module vendor
    

    我通过:

    go build -mod=vendor
    

    真正地

    这有可能吗?“-mod=vendor”标志在直接构建项目“foo”时非常有用。但它似乎不适用于这里,因为项目“bar”不想成为供应商。它想要得到一个主要的依赖,就是它。似乎Go模块支持并不关心平坦化依赖关系。

    glide 作为包管理器,它将从内部git repo获取'foo',然后将其所有依赖关系展平到我的供应商目录中。

    最初发布为 question to golang-nuts ,没有回复。

    1 回复  |  直到 6 年前
        1
  •  1
  •   nijm    6 年前

    modules help

    使用主模块的顶级供应商目录进行构建以满足 依赖关系(禁用常用网络源和本地 使用顶级供应商目录;其他目录中的供应商目录 位置仍然被忽略。

    对于这个特定的用例,我建议等到 go modules 成熟。