MarshalToSizedBuffer для структур, неопределенных при компиляции protobuf и попытке использовать его в других пакетах
Я использую gogo/protobuf для генерации protobufs для вызовов gRPC, но недавно они начали давать сбой из-за неправильной генерации метода маршаллинга. Ошибка выглядит так:
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)
Я попытался переустановить go и goenv, используя другой gvm и отменить изменения в файлах Proto. Кажется, проблема решается в нашей последней стабильной ветке наших прототипов, но если я внесу какие-либо изменения, проблема повторяется. Это касается двух репозиториев: одно (репозиторий с прототипами) с использованием golang 1.11.1, а другое с использованием golang 1.12.5.
Я ожидал, что все методы, которые протобуфы должны были генерировать при использовании пакета.
1 ответ
Мы решили эту проблему, исправив зависимости в предыдущей рабочей версии и подняв наши разные репозитории golang до одной основной версии.