首页 > 技术文章 > golang中使用 github.com/coreos/etcd/clientv3 第三方库报错

sebuntin2020 2020-03-19 20:50 原文

使用go连接etcd,需要下载第三方库,即:go get go.etcd.io/etcd/clientv3 ,过程中报错如下:

github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
vendor\github.com\coreos\etcd\clientv3\balancer\resolver\endpoint\endpoint.go:114:78: undefined: resolver.BuildOption
vendor\github.com\coreos\etcd\clientv3\balancer\resolver\endpoint\endpoint.go:182:31: undefined: resolver.ResolveNowOption
github.com/coreos/etcd/clientv3/balancer/picker
vendor\github.com\coreos\etcd\clientv3\balancer\picker\err.go:37:44: undefined: balancer.PickOptions
vendor\github.com\coreos\etcd\clientv3\balancer\picker\roundrobin_balanced.go:55:54: undefined: balancer.PickOptions

原因:需要将grpc1.27.1 替换成grpc1.26.0版本
解决:此时可以点开go.mod文件,将google.golang.org/grpc v1.27.1 *// indirect*更改为 google.golang.org/grpc v1.26.0 *// indirect*。

更改方式

replace (
	google.golang.org/grpc v1.28.0 => google.golang.org/grpc v1.26.0
)

然后再go get即可。

推荐阅读