go - 如何解决与此错误消息的冲突?

标签 go kubernetes protocol-buffers proto

go mod tidy我已经将 protobuf 更新到 github.com//golang/protobuf@v1.4.0
我的项目使用 github.com/ericchiang/k8s@v1.2.0
我构建了二进制文件,当我尝试运行它时,我收到了这个 panic 错误:

panic: mismatching message name: got k8s.io.kubernetes.pkg.watch.versioned.Event, want github.com/ericchiang.k8s.watch.versioned.Event

goroutine 1 [running]:
google.golang.org/protobuf/internal/impl.legacyLoadMessageDesc(0x1f8d6c0, 0x1b85dc0, 0x1ce794f, 0x2f, 0x0, 0x0)
        /home/andriy/go/pkg/mod/google.golang.org/protobuf@v1.21.0/internal/impl/legacy_message.go:136 +0x882
google.golang.org/protobuf/internal/impl.legacyLoadMessageInfo(0x1f8d6c0, 0x1b85dc0, 0x1ce794f, 0x2f, 0x4f7b57)
        /home/andriy/go/pkg/mod/google.golang.org/protobuf@v1.21.0/internal/impl/legacy_message.go:48 +0xbd
google.golang.org/protobuf/internal/impl.Export.LegacyMessageTypeOf(0x1f4f0a0, 0x0, 0x1ce794f, 0x2f, 0xc000399360, 0xc0000a00d0)
        /home/andriy/go/pkg/mod/google.golang.org/protobuf@v1.21.0/internal/impl/legacy_export.go:35 +0xa5
github.com/golang/protobuf/proto.RegisterType(0x1f4f0a0, 0x0, 0x1ce794f, 0x2f)
        /home/andriy/go/pkg/mod/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0/proto/registry.go:186 +0x4d
github.com/ericchiang/k8s/watch/versioned.init.0()
        /home/andriy/go/pkg/mod/github.com/ericchiang/k8s@v1.2.0/watch/versioned/generated.pb.go:70 +0x4b

有没有办法解决这个问题,或者我应该将 protobuf 降级到 v1.3.5

最佳答案

遇到和你一样的问题,可以直接到错误路径改名。用 k8s.io.kubernetes.pkg.watch.versioned.Event 替换 generate.pb.go 的 init() 函数中的 github.com/ericchiang.k8s.watch.versioned.Event。

关于go - 如何解决与此错误消息的冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61251129/

相关文章:

templates - 样式表不适用于使用 chi 路由器的 go html 模板

dictionary - Go: map 的类型断言

java - Protobuf - java包名和跨项目共享proto文件

xml - 使用 Go 生成 XML 文件时,如何创建 doctype 声明?

go - 一段时间后停止协程

mysql - 在 Kubernetes 中向 MySQL 添加另一个用户

docker - 无法访问 Kubernetes 中的 Keycloak 帐户控制台 (403)

java - 外部连接到 kubernetes 中的 Mongodb 集群

c++ - 混淆 google protobuf 字段

go - 如何使用带有版本化 Go 模块的 fork 模块(v1.11+,GO111MODULE=on)