Je reçois : ../.../...pb.go:21:11: undefined: proto.ProtoPackageIsVersion3
Je le veux pour la version 2
J'ai installé protoc
à partir de https://github.com/google/protobuf/releases $ protoc --version
donne libprotoc 3.6.0
. J'ai également installé golang-goprotobuf-dev
de apt
.
Des questions:
protocole (le compilateur de protobuffers compile toujours vers la version Proto3?)
Cela dépend de votre version de protobuf et de votre version de protocol-gen-go.
Quel est le support go supplémentaire requis?
Je pense que vous devrez installer protocol-gen-go
Comment puis-je obtenir un compilateur qui compile vers Proto2?
Installer une version spécifique de Protocol-Gen-Go
GIT_TAG="v1.2.0" # change as needed
go get -d -u github.com/golang/protobuf/protoc-gen-go
git -C "$(go env GOPATH)"/src/github.com/golang/protobuf checkout $GIT_TAG
go install github.com/golang/protobuf/protoc-gen-go
J'ai remarqué que dans un système libproto 3.6.1 compile en proto2, je ne comprends pas cela.
Je ne suis pas sûr de celui-ci, mais si je me souviens bien, le facteur déterminant est votre version protocol-gen-go.
J'espère que ça aide!
si vous avez rencontré l'erreur suivante:
undefined: proto.ProtoPackageIsVersion3
c'est parce que la version de Protocol-gen-go n'est pas correcte.
$ git clone https://github.com/golang/protobuf
$ cd ~/protobuf/protoc-gen-go
$ git checkout tags/v1.2.0 -b v1.2.0
$ go install
J'espère que ça aide!