首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >三个电子邮件包的区别是什么?

三个电子邮件包的区别是什么?
EN

Stack Overflow用户
提问于 2020-08-31 04:50:42
回答 2查看 867关注 0票数 1

有三种不同的etcd-go包,它们是:

  1. github.com/coreos/etcd
  2. go.etcd.io/etcd
  3. go.etcd.io/etcd/v3

根据提交这里,所有官方代码都使用以下消息将包从go.etcd.io/etcd更改为go.etcd.io/etcd/v3

此更改使etcd包与现有的用于模块版本控制的Go生态系统兼容。

但是我无法通过go.etcd.io/etcd/v3命令获得go get包。

那么这三个电子邮件包有什么区别呢?以及如何正确使用它们。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-08-31 14:05:02

客户端v3.4中存在一个已知的问题,即go get失败。见本期:https://github.com/etcd-io/etcd/issues/11154

虽然这个问题已经解决了,因为它(据说)是在v3.5中修复的,但是这个版本还没有发布(在编写这个版本时)。

上面有一些解决办法。为我们工作的是绕过etcd的未正确实现的go模块,并将版本直接锁定到go.mod文件中:

代码语言:javascript
复制
require go.etcd.io/etcd v0.0.0-20200520232829-54ba9589114f

然后通过以下方式导入clientv3

代码语言:javascript
复制
import "go.etcd.io/etcd/clientv3"
票数 1
EN

Stack Overflow用户

发布于 2020-08-31 07:59:44

问题2的文件指向了这个链接

https://pkg.go.dev/go.etcd.io/etcd/clientv3?tab=doc

该包具有以下版本并提交散列

v0.5.0 (ae9734e)

问题3的文件指出了这个链接。

https://pkg.go.dev/go.etcd.io/etcd/v3/clientv3?tab=doc

该包具有以下版本并提交散列

v3.3.0 (c20cc05)

etcd会在最近的版本中做一个突破性的更改,因此将模块路径更改为与旧路径不同。这是官方博客推荐的惯例。

看看这个博客。https://blog.golang.org/v2-go-modules虽然两者都指向相同的回购,但您必须导入这些版本,如下所示。您可以从存储库根目录中的go.mod文件中找到正确的模块路径。

导入"go.etcd.io/etcd/clientv3“import”go.etcd.io/etcd/v3/clientv3 3“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63664950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档