go - protoc-gen-go-rpc:程序未找到或不可执行 - 我从哪里获得 protoc-gen-go-rpc?
问题描述
我们正在使用 protoc-gen-go v2(v2 是 google.golang.org/protobuf,v1 是 github.com/golang/protobuf)
当我们尝试编译我们的 gRPC 服务时,它告诉我们plugins
不再支持,我们应该改用--go-grpc_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_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/
解决方案
我不确定protoc-gen-go v2
,因为我能看到的最新protobuf
标签是v1.4
。
这是我们如何调用为没有外部依赖项(例如,没有外部原型文件导入)protoc
的服务生成源代码的示例。crab
唯一的二进制依赖是protoc-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
推荐阅读
- c++ - uninit_member:非静态类成员 m_wszParams 未在此构造函数中初始化,也未在它在 C++ 中调用的任何函数中初始化
- c# - 如何使用 BsonDocument C# .NET 驱动程序在 MongoDB 中作为聚合执行多个投影和查找?
- c++ - ::SendMessage(apphwnd, WM_GETTEXTLENGTH, 0, 0) 返回 0
- sql - 有没有办法找出数据库的最大内存?
- maven - cucumber-jvm-parallel-plugin 无法识别功能文件
- php - 如何通过 htaccess 在 codeigniter 中隐藏 index.php 和控制器名称
- javascript - 如何从有数字的链接中删除下划线,但在有字母的普通链接上保留下划线
- excel - 以表格格式转换更大的字符串
- android-studio - Android Studio 抑制警告
- jquery - 如何让所有孩子都成为树状视图?