登录
首页 >  Golang >  Go问答

etcd-go包之间的区别是什么?

来源:stackoverflow

时间:2024-02-15 15:21:23 245浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《etcd-go包之间的区别是什么?》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

共有三种不同的 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 get 命令获取 go.etcd.io/etcd/v3 包。

那么这三个etcd-go包有什么区别呢?以及如何正确使用它们。

提前致谢。


解决方案


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

尽管该问题已被解决,因为它(据称)已在 v3.5 中修复,但该版本尚未发布(在撰写本文时)。

针对上述问题发布了一些解决方法。对我们有用的方法是绕过 etcd 错误实现的 go 模块,并将版本直接固定到 go.mod 文件中的提交:

require go.etcd.io/etcd v0.0.0-20200520232829-54ba9589114f

然后将 clientv3 导入:

import "go.etcd.io/etcd/clientv3"

终于介绍完啦!小伙伴们,这篇关于《etcd-go包之间的区别是什么?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>