Please enable Javascript to view the contents

解决Golang1.14 etcd/clientv3报错:etcd undefined: resolver.BuildOption

 ·  ☕ 1 分钟 · 👀... 阅读

Golang etcd/clientv3报错: etcd undefined: resolver.BuildOption

故障描述

golang版本

1
2
go version
go version go1.14 windows/amd64

包管理器go.mod

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
module go_micro

go 1.14

require (
	github.com/coreos/etcd v3.3.25+incompatible // indirect
	github.com/dustin/go-humanize v1.0.0 // indirect
	github.com/golang/protobuf v1.4.3
	github.com/google/go-cmp v0.5.0 // indirect
	github.com/gorilla/websocket v1.4.2 // indirect
	github.com/micro/go-micro/v2 v2.9.1
	golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect
	golang.org/x/sys v0.0.0-20201223074533-0d417f636930 // indirect
	golang.org/x/text v0.3.4 // indirect
	google.golang.org/protobuf v1.23.0
	gopkg.in/yaml.v2 v2.2.8 // indirect
)

在安装go get go.etcd.io/etcd/clientv3时出错

错误信息:

1
2
3
4
5
6
# github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
../../pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption
../../pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:182:31: undefined: resolver.ResolveNowOption
# github.com/coreos/etcd/clientv3/balancer/picker
../../pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions
../../pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/picker/roundrobin_balanced.go:55:54: undefined: balancer.PickOptions

解决方法

将grpc版本替换成v1.26.0版本

1. 修改依赖为v1.26.0

1
go mod edit -require=google.golang.org/grpc@v1.26.0

下载v1.26.0版本的grpc

1
go get -u -x google.golang.org/grpc@v1.26.0

etcd连接成功!

分享

幽梦
作者
幽梦
傻猪男孩

目录