proto报错 --- panic: proto: file “proto/service.proto“ has a name conflict over DESC

问题:

  protoc生成service.pb.go时无报错,但在引用时报错:

panic: proto: file “proto/service.proto” has a name conflict over DESC

原因:

同个package下有同名变量已经被使用,所以导致变量冲突
 

解决办法:

方案一:

  调整package,换成和有冲突的pb不一样的包名

syntax = "proto3";
option go_package = "./pb";
package service_pb;     //调整前和另一个proto文件使用的都是package pb;  
方案二:

  降protobuf版本,修改go.mod里面github.com/golang/protobuf的版本改为v1.4.3
因为v1.4.3名字冲突是warn,v1.4.3之后是panic

replace (
    github.com/golang/protobuf => github.com/golang/protobuf:v1.4.3
)

 
参考链接:
https://blog.csdn.net/weixin_40242845/article/details/118366192
 
 
如有不对,烦请指出,感谢~

猜你喜欢

转载自blog.csdn.net/my_miuye/article/details/124439981