【问题标题】:How should a glide project import another project with a vendor/ directory?glide 项目应该如何导入另一个带有 vendor/ 目录的项目?
【发布时间】:2016-11-10 18:01:27
【问题描述】:

golang Glide 打包器会自动为项目安装依赖项,但这样做会从 vendor/ 中提取依赖项,因为许多项目会检查供应商依赖项。

应该如何导入包含 vendor/ 目录的 glide 依赖项?

截至目前,您似乎会收到以下错误:

./scheduler.go:36: cannot use "github.com/jayunit100/my-project/vendor/github.com/spf13/pflag".CommandLine (type *"github.com/jayunit100/my-project/vendor/a/b/spf13/pflag".FlagSet) 作为类型 *"github.com/jayunit100/my-project/vendor/a/b/vendor/github.com/spf13/pflag".FlagSet

  • 正常导入,然后手动删除vendor/,这样就没有冗余了。
  • 正常导入,并使用某种配置技巧来避免vendor/ 依赖重复?

【问题讨论】:

  • 但您不应该在 vendor/ 文件夹中包含 vendor/

标签: go


【解决方案1】:

我认为这对于使用 glide 的人来说是一个很常见的问题。我的团队遇到了同样的问题,不得不调查了一段时间,但最终发现使用 flatten 操作为我们解决了这个问题。

为此,请将-v 标志传递给您的滑行操作。

例如glide up -v

您可以在glide docs 上阅读更多相关信息。

【讨论】:

    【解决方案2】:

    我当前的解决方案是从保留 vendor/ 的库中手动删除 vendor/ 目录。

    ...(更新)glide 支持 --strip-vendor 选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 2011-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多