【问题标题】:How to fix conflicts with this error message?如何解决与此错误消息的冲突?
【发布时间】:2020-07-29 17:52:46
【问题描述】:

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

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

【问题讨论】:

    标签: go kubernetes protocol-buffers proto


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-24
      • 2015-02-06
      • 2018-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多