一.问题描述
使用 etcd/clientv3 ,import 不成功,报循环引用
"github.com/coreos/etcd/clientv3"
"google.golang.org/grpc/grpclog"
二.问题解决
用下面的go.mod
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19module tttt go 1.14 replace github.com/coreos/go-systemd => github.com/coreos/go-systemd/v22 v22.0.0 replace google.golang.org/grpc => google.golang.org/grpc v1.26.0 require ( github.com/coreos/etcd v3.3.25+incompatible // indirect github.com/coreos/go-semver v0.3.0 // indirect github.com/coreos/go-systemd v0.0.0-00010101000000-000000000000 // indirect github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f // indirect github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/uuid v1.2.0 // indirect go.etcd.io/etcd v3.3.25+incompatible // indirect go.uber.org/zap v1.16.0 // indirect )
三.测试
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35package main import ( "context" "log" "os" "time" "github.com/coreos/etcd/clientv3" "google.golang.org/grpc/grpclog" ) var ( dialTimeout = 5 * time.Second endpoints = []string{"localhost:2379", "localhost:22379", "localhost:32379"} ) func main() { clientv3.SetLogger(grpclog.NewLoggerV2(os.Stderr, os.Stderr, os.Stderr)) cli, err := clientv3.New(clientv3.Config{ Endpoints: endpoints, DialTimeout: dialTimeout, }) if err != nil { log.Fatal(err) } defer cli.Close() // make sure to close the client _, err = cli.Put(context.TODO(), "fooTest", "bar") if err != nil { log.Fatal(err) } }
最后
以上就是迅速书包最近收集整理的关于etcd/clientv3 循环引用问题的全部内容,更多相关etcd/clientv3内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复