问题标签 [govendor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1156 浏览

go - govendor 恐慌:空包路径

你如何修复空包路径错误?我不清楚哪个包有问题或如何解决。

vendor/vendor.jsonjson 文件。

完整的堆栈跟踪。

0 投票
0 回答
208 浏览

go - 使用其他项目的供应商?

我将其他项目(Origin)供应商目录用于小型应用程序(因为他们使用旧版本的库并且它与当前版本不兼容)。但我得到这些错误:

如何使 govendor 和“代码”正确对待供应商目录?我在这里做错了什么?

代码示例:

它抱怨错误使用标志。

0 投票
3 回答
809 浏览

go - govendor 作为类型错误

出现错误:不能使用 *company/model 作为类型 *vendor/company/model

扁平供应商结构:供应商/公司/型号

文件导入“公司/型号”

0 投票
0 回答
723 浏览

go - 为什么“去供应商添加”不能与修订号一起使用

我收到一个编译错误,这让我相信我的供应商文件夹中有错误版本的库。第一项任务是确定库的哪个版本是正确的。我需要找到包含字符串“VolumeCreateRequest”的库源版本。为此,我使用了库根文件夹中的这个技巧:

从中我找到了版本哈希06f160237426e705ed214a4f087d4aeea32c0a8b::

然后我尝试将该版本添加到我的供应商文件夹中 go vendor add github.com/docker/docker/...@06f160237426e705ed214a4f087d4aeea32c0a8b

但它不起作用。当我使用 git 检查库的版本时,它不会报告我刚刚获取的版本。

vendor.json 文件还包含错误的版本

那么这是什么一回事?仔细阅读文档后,我看到 go vender add只是默默地忽略了@06f160237426e705ed214a4f087d4aeea32c0a8b我的 fetch URI 末尾的 。

正确的命令是支持 @version的 go vendor fetch

govendor fetch github.com/docker/docker/...@06f160237426e705ed214a4f087d4aeea32c0a8b

完成此操作的另一种方法是在您的 GOPATH 中(即不在您的供应商文件夹中)中 git checkout 您想要的库版本,然后govendor add是您的 GOPATH 中的包

所以现在我检查了 git 版本,我们都很好。然后出现了下一个问题。我们的 generate.go 文件(由 调用go generate)正在进入并用vendor.json我的 GOPATH 上的内容覆盖我所需的版本。

我们的序列generate.go是:

结果证明这是错误的,因为添加会覆盖我的更改,然后同步无效,因为 vendor.json 已经感染了错误的版本。

正确的顺序是这样的:

这样,您自定义的 vendor.json 将首先将供应商文件夹同步到所需的文件夹然后才会下载外部和缺少的依赖项。

最后,一些依赖项实际上根本无法编译到平台特定的东西。为了解决这个问题,我在 generate.go 中添加这些行以删除那些损坏的依赖项,我同步、添加、获取之后

0 投票
1 回答
2364 浏览

go - Golang 供应商包和供应商的子包

情况:

假设我有一个名为mypackage. 它公开了一个名为 的方法Build(),该方法返回一个由名为 的第三方库公开的具体结构thirdpartypackage,例如如下所示:

公开的包SharedStruct是在内部出售的mypackage,因为我想分发它并使该包独立。

问题:

导入mypackage另一个项目并thirdpartypackage在我的(集成)测试中使用后,我收到以下错误:

不能使用 XXXX(类型“github.com/mycompany/mymainproject/vendor/github.com/mycompany/mypackage/vendor/github.com/thirdcompany/thirdpartypackage-go”.Token)作为类型“github.com/empatica/mycompany/供应商/github.com/thirdcompany/thirdpartypackage”

基本上,编译器会区分我的库中的供应商第三方包和我放在主项目中的供应商包。

问题:

有没有办法解决这个问题,而不是像这里建议的那样从我的库中删除供应商的依赖项?我错过了什么吗?

0 投票
1 回答
1260 浏览

go - govendor 是否自动包含传递依赖项?

假设我通过govendor addor添加了一个新的依赖项 X govendor fetch。这个依赖 X 依赖于 Y。

govendor 也会自动引入这些依赖项吗?或者我必须这样做govendor add Y

add和之间的行为是否不同fetch

我在这里的任何文档中都找不到讨论的内容:https ://github.com/kardianos/govendor

或者通过运行govendor add --help

0 投票
0 回答
146 浏览

go - 在 govendor 中处理嵌套的“供应商”目录

我正在编写一个B从私有 bitbucket 存储库导入一些包的应用程序。所以我已经复制B到我的vendor目录中。Bpackage 有一个vendor目录,其中又包含 package C。我也想C直接在我的应用程序中使用该包。

这导致我的应用程序具有嵌套vendor目录,并使我的构建因两个版本的C包而失败。有人可以让我知道如何govendor避免这种情况吗?

版本

  • 总督 - 1.0.8
  • 去 - 1.7.3
0 投票
2 回答
9837 浏览

bash - govendor 不能从 cmd 工作

我尝试在我的项目文件夹中使用 govendor/d/projects/go/src/github.com/user/dbot

州长初始化

但是 bash 返回

bash:govendor:找不到命令

安装我只是按照说明使用

还有一些关于我需要知道的事情

0 投票
1 回答
877 浏览

go - 使用 govendor 设置依赖项的特定提交

我正在使用 govendor 来管理项目中的依赖项。我的vendor/vendor.json.

}

现在我想使用 bimg 包的主版本,它比 govendor 获取的版本 1.0.7 更新。除了从github手动下载主版本并将其保存到供应商文件夹之外,实现此目的的正确方法是什么?

ps:所有依赖项都已提交。

0 投票
2 回答
547 浏览

go - 使用 govendor、dh-make-golang 构建 Go 1.7 项目时导入供应商依赖项问题

我一直在考虑将一个 go 项目构建到一个 debian 包中。

我查看了dh-make-golangdebian并且在我的存储库中设置了一个漂亮而闪亮的文件夹。当我尝试使用gbp buildpackage --git-pbuilder时,由于找不到我的所有依赖项而出错。当它从我的项目的 git 存储库中复制所有内容时,它似乎dh-make-golang忽略了该文件夹,并且我使用了所以我的所有依赖项都在那里。vendorgovendor

如何解决此依赖问题并将项目.deb正确构建为包?作为参考,我得到的错误是:

src/github.com/project/project/project.go:15:2: cannot find package "google.golang.org/grpc/grpclog" in any of: /usr/lib/go-1.7/src/google.golang.org/grpc/grpclog (from $GOROOT) /tmp/project/obj-x86_64-linux-gnu/src/google.golang.org/grpc/grpclog (from $GOPATH)