我在使用vendor目录中的google.golang.org/grpc时遇到问题,并且出现以下错误cannotuse&metadata.HeaderMD(type*"google.golang.org/grpc/metadata".MD)astype*"project1/vendor/google.golang.org/grpc/metadata".MDinargumenttogrpc.Header虽然我使用的是从我的gopath复制的必要版本的包,但我收到了错误。但是,当我从vendor中删除golang.google.org/grpc文件夹时,我的项目从gopath获取依赖项并且
情况:假设我有一个名为mypackage的包。它公开了一个名为Build()的方法,该方法返回一个由名为thirdpartypackage的第三方库公开的具体结构,例如如下图所示:packagemypackageimporttpp"github.com/thirdpartycompany/thirdpartypackage"funcBuild()*tpp.SharedStruct{//...implementation}公开SharedStruct的包在mypackage中出售,因为我想分发它并使该包独立。问题:将mypackage导入另一个项目并在我的(集成)测试中使用thirdpa
根据thisdocument我需要将-mod=vendor添加到我的构建命令中以使用我的本地vendor文件夹:Bydefault,gocommandslikegobuildignorethevendordirectorywheninmodulemode.The-mod=vendorflag(e.g.,gobuild-mod=vendor)instructsthegocommandstousethemainmodule'stop-levelvendordirectorytosatisfydependencies.当我运行这个命令时:gobuild-mod=vendor-a-ldflag
将我的Go服务部署到GoogleAppEngine(标准)时,我收到一条错误,描述未找到模块版本,但编译一切正常。模块位于私有(private)Github实例上,并checkout到vendor/。gobuild-modvendor-o/dev/null./...在cloud-build-local、本地和GoogleCloudBuild中工作。github.com/company/gosystem上存在一个名为“v1.1.0”的标签:gosystem$gittagv0.0.1v0.0.2v0.0.3v1.0.0v1.1.0Failedtobuildapp:[gobuild-o/tm
在osx上使用go1.6.2进行govendor实验时遇到一些问题。这是我的目录结构:/project/applicationmain.goother.go/vendor/github.com/vendor_name/package_name我将我的GOPATH设置为/Users/me/project/application然而,当我尝试运行任何go工具(例如构建)时,它似乎在寻找application/src而不是application/vendor,得到很多这样的东西:main.go:15:2:cannotfindpackage"github.com/facebookgo/grac
我有一个Dockerfile,它是FROMgolang:1.6-alpine。我想在执行dockerbuild时尽可能多地使用docker图像缓存来加快速度。为此,我想我会添加ADDvendor/go/src/.../mypackage/vendor作为第一步,并最终运行goinstall-v.../我的包。但是,这会导致销售包(构建时间的大部分)只能在那时构建。有没有显式地构建所有销售包(即…/vendor目录中的源代码),但只有它们?我希望我的Dockerfile看起来像这样:FROMgolang:1.6-alpineADDvendor/go/src/github.com/myus
目前,我们在src/vendor中拥有所有供应库,这使得docker-composebuild非常快。尽管将销售库添加到源代码控制有库未更新的缺点,并且还会严重污染拉取请求的差异。有没有办法介于两者之间,也许是缓存? 最佳答案 Isthereawayinbetween,maybewithcaching?是的,好几个。但不要与系统/首选方法抗争。像您已经在做的那样使用$GOPATH/src/MyProject/vendor。addingvendoredlibrariestosourcecontrolhasthedisavantageo
我在这里克隆了代码:https://github.com/kkdai/line-login-go.我在heroku上部署并成功运行。但是我得到:cannotfindpackageonVSCode一般情况下,如果我把工程放在src目录下,设置GOPATH,是不会报错的。但是这个项目不遵循那个结构,包在vendor/目录中。我该怎么做才能处理错误? 最佳答案 你可以试试use/addgomodules到您克隆的项目(使用Go1.11+和GO111MODULE=on设置):gomodinitgithub.com/kkdai/line-lo
我目前正在开发一个小型Go应用程序,我想在构建或运行时(使用gobuild或gorun)通过使用-ldflags选项。因为在我的公司我们有几个具有相同基础的项目,所以我决定将带有这些变量的代码提取到一个单独的“信息”模块中,该模块可以导入到每个项目中。这是我的问题,假设我正在这样运行应用程序:gorun-ldflags"-Xgit.mycompany.com/utils/info.Version=1.0.0"app.go这很好用,并且变量设置正确,即使变量不是“主”应用程序的一部分而是在依赖项中也是如此。然后我决定部署应用程序,所以我使用新的dep工具生成vendor文件夹。因此,“信
我正在通过Jenkins部署Go应用程序并运行一些测试。即使我从我的GOPATH中删除所有第三方库,我的所有测试都在本地通过,因为我已经通过godepsave填充了我的vendor文件夹。但是,当Jenkins运行我的测试时,它报告GitHub版本和vendor版本之间的类型不兼容:mypackage/MyFile_test.go:65:22:cannotuseMY_VARIABLE(type"github.com/gocql/gocql".UUID)astype"myproject/vendor/github.com/gocql/gocql".UUIDinassignment我尝试使