MarshalToSizedBuffer 用于编译 protobuf 并尝试在其他包中使用它时未定义的结构



我正在使用gogo/protobuf为gRPC调用生成protobuf,但最近由于未正确生成编组方法,它们开始失败。错误如下所示:

service/v1/service.pb.go:1347:27: m.ListMeta.MarshalToSizedBuffer undefined (type *"k8s.io/apimachinery/pkg/apis/meta/v1".ListMeta has no field or method MarshalToSizedBuffer)

我尝试使用不同的 gvm 重新安装 go 和 goenv,并恢复对原型文件的更改。该问题似乎在我们原型文件的最后一个稳定分支上得到解决,但是如果我进行任何更改,问题会再次出现。这是跨两个存储库,一个(原型文件存储库(使用 golang 1.11.1,另一个使用 golang 1.12.5。

我希望在使用包时需要生成 protobufs 的所有方法。

我们通过将依赖项修复到以前的工作版本并将我们不同的 golang 存储库升级到相同的主要版本来解决此问题。

最新更新