file xx has a name conflict over xx, go

313 阅读1分钟

最近在编译使用proto时,遇到报错,错误如下

panic: proto: file "bytedance.proto" has a name conflict over OAID

previously from: "xxx/baidu"

currently from: "xxx/bytedance"

See <https://protobuf.dev/reference/go/faq#namespace-conflict>

错误提示截图如下:

image.png

访问错误提示中的链接,可以看到两种解决方案,分别如下:

image.png

依照官网答案最后解决方式分别有两种,如下:

  1. 方案一:编译器修改: 编译代码时指定 -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn"
  2. 方案二:运行时指定 GOLANG_PROTOBUF_REGISTRATION_CONFLICT=warn 即可