使用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即可。