一.问题描述
使用 etcd/clientv3 ,import 不成功,报循环引用
"github.com/coreos/etcd/clientv3"
"google.golang.org/grpc/grpclog"
二.问题解决
用下面的go.mod
module 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 )
三.测试
package 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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复