草庐IT

go - 驻留在另一个项目的 vendor 文件夹中的 vendor 包

我正在编写一个依赖于某些导入的库包,但我不确定如何正确处理它。让我从目录结构开始:go/src/github.com/├──developerA/│├──project1│└──project2│└──developerB/└──project3└──vendor└──project4项目1是一个图书馆。它在项目2中使用,并被拉入2svendor文件夹。因此,项目1应该包含它的所有依赖项,这样客户端(例如项目2)也不需要拉取它们。但是,项目1的一个依赖项是项目4,它包含在项目3的vendor文件夹中。重要的是,此依赖项始终与项目3供应的版本完全相同。Go不允许导入指向vendor文件夹

go - 在部署 gcloud 时没有遇到 vendor 依赖项

我通过命令govendorinit和govendorfetch"github.com/gorilla/mux"创建了项目中的vendor目录。但是,在gcloud中执行部署时gcloudappdeploy出现如下错误,github.com/gorilla/muxisnotfound:ERROR:(gcloud.app.deploy)ErrorResponse:[9]Deploymentcontainsfilesthatcannotbecompiled:Compilefailed:/work_dir/main.go:5:5:can'tfindimport:"github.com/gori

go - 来自 Opencensus Libraries for Golang 的 vendor 问题

我在销售我的go-project时遇到问题。尝试使用glide和go-dep-遇到同样的问题。$goget-ugo.opencensus.io给出以下错误:packagego.opencensus.io/opencensus-go:unrecognizedimportpath"go.opencensus.io/opencensus-go"(httpsfetch:Gethttps://go.opencensus.io/opencensus-go?go-get=1:dialtcp:i/otimeout)此包的Github链接-https://github.com/census-instru

go - 转换/vendor 到 Go 模块,找不到提供包错误的模块

将带有/vendor目录的现有项目转换为使用Go模块(go版本1.12)。我执行gomodinit生成go.mod文件。然后我执行goget-u./...来填充go.mod文件。在此期间,它会尝试在github上找到一个不再存在的包。它在我的/vendor目录中出售。在我可以升级我的代码以使用不同的包之前,我如何才能继续转换为使用模块?也就是说,我想保留一些东西vendored(我在/vendor下也有一些修改过的代码),而其他东西则由gomodules处理。 最佳答案 您不能混合使用vendor目录行为和模块,每种依赖性解析方法都

go - 来自多个包的相同 vendor 代码

我正在尝试使用grpc"google.golang.org/grpc"包。import("github.com/xxxx/yyyy""google.golang.org/grpc")conn,err:=grpc.Dial(address)pppp.NewXXXXClient(conn)//whereppppisfromgithub.com/xxxx/yyyy如果github.com/xxxx/yyyy也提供相同的grpc包会怎样?我收到如下编译错误cannotuseconn(type*"google.golang.org/grpc".ClientConn)astype*"github.

go - Glide 或 dep 依赖问题,vendor 中的依赖不平坦

相关代码如下:import(core"k8s.io/api/core/v1"metav1"k8s.io/apimachinery/pkg/apis/meta/v1""k8s.io/kubernetes/pkg/api/legacyscheme")...funcPodExec(clusterIdstring,namespacestring,podNamestring,containerNamestring,cmdstring)(){...req.VersionedParams(&core.PodExecOptions{Container:containerName,Command:[]s

git - 如何组织具有 vendor 依赖项的 Go 项目?

我正在开发一个不是包而是服务的Go项目。它取决于mgo等。因为这项服务在法律上应该是安全版本控制和高可用性的,所以我们决定在项目中供应mgo依赖项。由于法律要求,我们不能仅仅依靠提取origin/master上的任何版本来获取依赖项。显然,这会破坏所有标准命令的GOPATH,因为它不再位于GOPATH下,而是位于Git存储库中的vendor目录中:~/src/link_tracker/main.gomain_test.govendor/src/labix.org/etc...我们目前正在使用一个相当丑陋的Bash脚本来解决这个问题,该脚本破坏了许多环境变量并进行了一些符号链接(symb

go - 如何仅使用 vendor 依赖项运行 go 命令?

我一直遇到我在本地安装依赖项的问题,它工作正常,我推送到持续集成服务器,然后它中断了,因为我忘记了godepsave./...依赖项.如何运行go命令但需要vendor导入?编辑:我正在使用go1.6。如果第3方依赖项不解析给vendor,我希望命令失败。换句话说,有没有办法在测试期间停止解析$GOPATH中的依赖项?我无法更改环境变量,因为那样我的项目模块都无法解析。如何强制依赖vendor? 最佳答案 没有办法阻止构建器扫描$GOPATH包。看来,您使用不太好的流程来管理依赖项。我建议您使用glide进行销售。最推荐的工作流程:

docker - golang 通过复制 vendor 文件夹构建

我的项目结构/github.com/user-libraries-services-service-api-signup-Dockerfile-main.go-service-api-second-...-vendorservice-api-signup中的Docker文件FROMgolangCOPY./go/src/github.com/user/services/service-api-signup#needtocopyallthedependenciesonvendorto/go/src/github.com/..如何将我对vendor和libraries文件夹的所有依赖项复制到

Golang 在每次部署时更新 vendor 依赖项

我对Go相当陌生,有Java背景,正在尝试找出Go依赖管理的最佳实践。如果我的项目A依赖于项目B,并且我在我的vendor包中引用了项目B,那么运行goinstall会下载我需要的一切。但是,假设我在项目B中发现了一个错误并修复了,我如何确保项目A保持最新状态?比如,是否有某种方法可以在每次部署时进行安装,以确保我没有遗漏任何东西?在Java中,在每次部署时我都会做我自己的mvnpackage以最好地确保每个部署都是自给自足的。有什么方法可以在Go中做同样的事情吗?如果这是一个非常基本的问题,我深表歉意-但我找不到好的答案。 最佳答案