当前位置: 首页 > 知识库问答 >
问题:

protoc gen go rpc:找不到程序或程序不可执行-从何处获取protoc gen go rpc?

白侯林
2023-03-14

我们使用的是proc-gen-go v2(v2google.golang.org/protobuf,v1github.com/golang/protobuf)

当我们试图编译gRPC服务时,它告诉我们不再支持插件,我们应该使用go-gRPC\u out:

$ protoc --go_out=plugins=grpc:. *.proto
--go_out: protoc-gen-go: plugins are not supported; use 'protoc --go-grpc_out=...' to generate gRPC

当使用go-grpc\u out时,它告诉我们需要protoc gen go rpc:

$ protoc --go-rpc_out=. *.proto
protoc-gen-go-rpc: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable

您在哪里找到或如何安装protoc gen go rpc?

更新:我们还在Reddit上找到了这篇文章,以获取更多信息https://www.reddit.com/r/golang/comments/fe3a4k/documentation_on_getting_grpc_working_with_the/

共有1个答案

郤旭东
2023-03-14

我不确定protoc gen go v2,因为我能看到的最新protobuf标签是v1.4。

这是我们如何调用协议为没有外部依赖项(例如没有外部原型文件导入)的名为螃蟹的服务生成源代码的示例。唯一的二进制依赖项是协议-gen-go

protoc -I $(pwd) -I /home/isaev/go/src \
 $(pwd)/crab/error_codes.proto \
 $(pwd)/crab/goproxy.proto \
 $(pwd)/crab/crab.proto \
 --go_out=plugins=grpc:/tmp/crab
 类似资料:
  • 我试图用Go gRPC构建一个示例应用程序,但我无法使用“protoc”生成代码 我已使用以下工具安装了所需的库和Go软件包: 去谷歌吧。戈朗。组织/grpc 我也尝试过设置路径,但没有成功。 “proto”文件示例: 错误消息: “protoc gen go:程序未找到或不可执行--go\u out:protoc gen go:插件失败,状态代码为1。”

  • 问题内容: :go版本go1.14 linux / amd64 go.mod 我正在运行以下命令: 从文件生成我的GRPC输出文件,出现错误 问题答案: 好的,根据https://github.com/protocolbuffers/protobuf- go/releases/tag/v1.20.0 刚刚找到 v1.20 不支持生成gRPC服务定义。将来,Go gRPC项目将提供一个新的proto

  • 当我使用Anable取消存档文件时,发生了以下错误: 找不到要取消归档的处理程序。确保安装了提取文件所需的命令。 有没有一个解决方案,而不安装所需的模块(gtar/解压缩)。

  • 我有我的chromedriver和chromedriver。项目文件夹中的exe权限。我正在用这段代码创建驱动程序的实例。 在本地windows上也可以(如果我们将“chromedriver”更改为“chromedriver.exe”),但当我在CentOS上运行它时,会收到错误消息:“驱动程序不可执行”。

  • 问题内容: 好的,这是什么,为什么它会在Win2003服务器上而不是在WinXP上发生。 它似乎根本不影响我的应用程序,但是当我关闭应用程序时收到此错误消息。而且很烦人(因为错误消息应该如此)。 我正在使用pyOpenGl和wxPython做图形工作。不幸的是,我是一个接管了这个Python应用程序的C#程序员,我必须学习Python才能做到这一点。 我可以提供代码和版本号等,但是我仍在学习技术知

  • 问题内容: 我是python的新手。我尝试登录python,但遇到尝试通过记录器实例打印一些警告时 找不到记录器 错误的 处理程序 。下面是我尝试的代码 我收到此错误, 找不到记录程序“ logger”的处理程序 令我感到困惑的是,当我第一次尝试使用,然后通过来打印警告时,它可以正常工作,例如 有人可以阐明第二种情况下发生的事情吗? 问题答案: 为了通过记录一些消息,在Python中至少应将一个处