【疑难杂症】etcd报错:..\go.etcd.io\etcd\client\v3\example_auth_test.go:1:1: expected ‘package‘, found ‘.‘

        单独下载了etcd的所有依赖时,通过go build编译etcd的示例时,居然还报错:..\go.etcd.io\etcd\client\v3\example_auth_test.go:1:1: expected 'package', found '.'。

        有点懵了,在网上查找解解决方案,但是都没有这种报错。

        不过,都说因为google.golang.org/grpc 1.26 后的版本是不支持 clientv3 的,也就是说要把这个改成 1.26 版本的就可以了。

        那就在只能通过依赖管理进行处理了,众所周知,Go 在做依赖管理时会创建两个文件:go.mod和go.sum。

        那就先生成go.mod文件呗,在go build的文件下使用:go mod init生产go.mod文件,如下图所示。

        然后,提示需要生成go.sum文件,如上图提示一下,使用go mod tidy命令即可。

        所生成的文件如下图所示:

        查看go.mod文件,

module studyGo/day8/etcd_test

go 1.17

require go.etcd.io/etcd/client/v3 v3.5.1

require (
	github.com/coreos/go-semver v0.3.0 // indirect
	github.com/coreos/go-systemd/v22 v22.3.2 // indirect
	github.com/gogo/protobuf v1.3.2 // indirect
	github.com/golang/protobuf v1.5.2 // indirect
	go.etcd.io/etcd/api/v3 v3.5.1 // indirect
	go.etcd.io/etcd/client/pkg/v3 v3.5.1 // indirect
	go.uber.org/atomic v1.7.0 // indirect
	go.uber.org/multierr v1.6.0 // indirect
	go.uber.org/zap v1.17.0 // indirect
	golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4 // indirect
	golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40 // indirect
	golang.org/x/text v0.3.5 // indirect
	google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c // indirect
	google.golang.org/grpc v1.38.0 // indirect
	google.golang.org/protobuf v1.26.0 // indirect
)

        结果,然后在go build一下,居然可以编译成功了,当然etcd也可以正常使用了,如下图所示:

        貌似google.golang.org/grpc也不是1.26.0版本,可能这样将etcd对应的依赖的版本都匹配下载了才成功的吧。 

猜你喜欢

转载自blog.csdn.net/qq_33206497/article/details/122312880