【问题标题】:How do Glide managed dependencies work with a build?Glide 托管依赖项如何与构建一起工作?
【发布时间】:2016-10-19 10:11:46
【问题描述】:

我正在使用 Go 1.7 并尝试 Glide。我没有得到的部分是,Glide 在 $GOPATH/vendor 创建了一个供应商目录。但是当 go 构建时,它会在 $GOPATH/src/github.com/vendor/.../... 处寻找供应商目录。

所以我错过了在安装/更新依赖项和在构建期间使它们对我的程序可用之间发生的部分。

【问题讨论】:

  • Glide creates a vendor directory at $GOPATH/vendor,那不应该。 glide 在您的项目文件夹中创建一个供应商目录(不要与 GOPATH 混淆)。项目文件夹更像是您在其中创建 main.go 文件的 cwd。 glide 将依赖项拉入这个供应商项目,这在任何尝试构建之前都有待定。我再也找不到引用了,请记住,当 go 解析包路径时,它需要最长的路径(因此,项目中的供应商路径总是最长的)。

标签: go dependency-management vendor


【解决方案1】:

为即将到来的下一个可怜的灵魂添加答案。

如果您来自 Java 世界,并且习惯于 src 目录位于项目的根目录... Go 表示您错了。正如评论者所指出的,您的项目路径是 $GOPATH/src/[github.com]/username/projectname ,这就是您应该执行“glide init”的地方。

这将在正确的位置创建 glide.yaml 文件,因此“glide install”将在 $GOPATH/src/githost/username/projectname/vendor 创建供应商目录,然后您的 go 构建将按预期工作。

希望这将为可能有类似问题的其他人解决问题。

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 2010-09-06
    • 2010-12-31
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2012-01-21
    • 2021-04-14
    相关资源
    最近更新 更多