go get fails for hashicorp/levant



我继承了一个构建脚本,该脚本构建了一个docker映像并使用hashicorp/levant库进行部署。一年左右以来,我们一直在运行go get github.com/jrasell/levant来获取levant库。在过去的几天里,回购URL在Hashicorp的组织下被合并,我们已经将脚本更改为使用go get github.com/hashicorp/levant进行pull。但不管怎样,我们都会得到这个多重分配错误。这意味着什么,"go"不是基本上只是拉动了git回购吗?

../go/src/github.com/hashicorp/levant/template/render.go:28:11: cannot assign 
*"github.com/hashicorp/nomad/vendor/github.com/hashicorp/nomad/api".Job to job 
(type *"github.com/hashicorp/nomad/api".Job) in multiple assignment

首先,go get使用包,而不是存储库。

除了拉取它们之外,go get还编译和安装它们,此时会弹出错误。

更多信息请点击此处:

https://nanxiao.gitbooks.io/golang-101-hacks/content/posts/go-get-command.html

我建议您使用Go模块

hashicorp/levant确实有go.{mod,sum}文件,因此您应该忘记使用go-get方法。

最好进行克隆并遵循go模块的方式,即

git clone git@github.com:hashicorp/levant.git
go test ./...
go build ./...

步骤不仅克隆您的回购,还将带来构建/测试包所需的依赖包。

注意:你应该有Go v1.11+

相关内容

  • 没有找到相关文章

最新更新