gogo/protobuf proto.GoGoProtoPackageIsVersion2、proto3 版本 不一致
生活随笔
收集整理的這篇文章主要介紹了
gogo/protobuf proto.GoGoProtoPackageIsVersion2、proto3 版本 不一致
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
protobuf的幾個(gè)版本
源代碼里面的版本【proto文件的語法版本】:
生成的pb文件里面的版本是3,并且下面會(huì)報(bào)錯(cuò)。
原因:項(xiàng)目go.mod里面引用的包是1.2.1, 沒有GoGoProtoPackageIsVersion3 這個(gè)變量,所以會(huì)報(bào)找不到的錯(cuò)誤。
一般現(xiàn)在默認(rèn)下載的protoc工具都是3版本的,這個(gè)并不會(huì)導(dǎo)致生成代碼有版本問題,關(guān)鍵是后面的gogoslick插件版本必須低一點(diǎn)【兼容老項(xiàng)目】。【下載的時(shí)候 默認(rèn)是新版本所以生成的不能用】
解決方法:下載老版本的gogoslick編譯插件 【GOHOME下面的全局包】
兩種解決方案
鏈接: https://pan.baidu.com/s/1tRuhNZMG4xRDzVgR_Rto2A 密碼: ol5b
2.【也可以直接從github上下載指定版本的protobuf,在全局的go空間,而不是項(xiàng)目的go module中。v1.2.1】
Go語言如何指定特定版本的包:
總結(jié)
以上是生活随笔為你收集整理的gogo/protobuf proto.GoGoProtoPackageIsVersion2、proto3 版本 不一致的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记者求证北京将禁止外地车和外地人员从事网
- 下一篇: 【他山之石】康师傅的本地化策略