gpt4 book ai didi

grpc-go - grpc-gateway runtime 版本冲突

转载 作者:行者123 更新时间:2023-12-04 17:21:15 25 4
gpt4 key购买 nike

从最近几天开始,protoc 生成器正在使用 github.com/grpc-ecosystem/grpc-gateway 的 v2 版本生成代码。我想继续使用 github.com/grpc-ecosystem/grpc-gateway v1.16.0。我无法删除导致冲突的 v2 版本。我尝试从 go.mod 中删除,从 $GOPATH 中清除。我想我的协议(protocol)生成器无法使用 v1 版本。请指导我如何同步 grpc-gateway 运行时包。

使用以下命令生成消息和服务

protoc -I . --go-grpc_out=. api/protobuf-spec/catalog_fetch/*.proto
protoc -I . --grpc-gateway_out=logtostderr=true:. api/protobuf-spec/catalog_fetch/*.proto

注意:它正在生成 grpc.pb.go 文件和 pb.go 文件,这进一步导致了问题。

cannot use mux (type *"github.com/grpc-ecosystem/grpc-gateway/runtime".ServeMux) as type *"github.com/grpc-ecosystem/grpc-gateway/v2/runtime".ServeMux ```

最佳答案

我花了 3 个小时来调试完全相同的问题。

您必须从 GOPATHGOROOT 中删除二进制文件。

为简单起见,只需使用which protoc-gen-grpc-gateway

这应该指向您在引擎盖下使用的二进制 protoc。删除它并重新运行 go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway@v1.16.0

关于grpc-go - grpc-gateway runtime 版本冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66133168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com