1. 背景
在 go 的项目中同时引用较新版本的 etcd 和 protoc-gen-go 会产生一些问题,具体表现为:1
2
3
4
5
6
7
8
9
10
11go: finding module for package google.golang.org/grpc/naming
go: finding module for package github.com/coreos/bbolt
go: found github.com/coreos/bbolt in github.com/coreos/bbolt v1.3.6
go: node/watch imports
go.etcd.io/etcd/clientv3 tested by
go.etcd.io/etcd/clientv3.test imports
github.com/coreos/etcd/auth imports
github.com/coreos/etcd/mvcc/backend imports
github.com/coreos/bbolt: github.com/coreos/bbolt@v1.3.6: parsing go.mod:
module declares its path as: go.etcd.io/bbolt
but was required as: github.com/coreos/bbolt
或者1
2
3
4
5
6uapm-agent/watch imports
go.etcd.io/etcd/clientv3 tested by
go.etcd.io/etcd/clientv3.test imports
github.com/coreos/etcd/integration imports
github.com/coreos/etcd/proxy/grpcproxy imports
google.golang.org/grpc/naming: module google.golang.org/grpc@latest found (v1.45.0), but does not contain package google.golang.org/grpc/naming
这都是由于 etcdv3 依赖了较低版本的 grpc(v1.26.0) 导致的。
想立刻知道解决办法的可以直接拉到第三节查看。