我试图在mac上制作Go语言grpc服务器。我安装了Go语言, grpc,协议缓冲区,并按照此示例检查了该grpc服务器https://grpc.io/docs/quickstart/go/问题是当我尝试使用协议缓冲区编译. proto文件时,它说'缺少输入'或'程序不可执行'。
安装协议缓冲区和grpc
brew install grpc protobuf
安装基于golang的protoc插件
go get github.com/golang/protobuf/protoc-gen-go
原始路径
which protoc
/usr/local/bin/protoc
示例位置
/Users/usrname/go/src/google.golang.org/grpc/examples/helloworld
运行proto编译器
protoc -I=/Users/username/go/src/google.golang.org/grpc/examples/helloworld/helloworld/ --go_out=/Users/username/go/src/google.golang.org/grpc/examples/helloworld/helloworld/ /Users/username/go/src/google.golang.org/grpc/examples/helloworld/helloworld/helloworld.proto
错误消息
protoc-gen-go: 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
--go_out: protoc-gen-go: Plugin failed with status code 1.
这是在Go语言/原型
第795期中提到的
请参阅自述文件
页面的
安装
部分:
从存储库中获取代码并安装proto包
最简单的方法是运行go-get-u github。com/golang/protobuf/protoc gen go
。
除非设置了
$GOBIN
,否则编译器插件protoc gen go
将安装在$GOPATH/bin
中。它必须在您的$PATH
中,协议编译器protoc
才能找到它。
因此,请仔细检查
$GOPATH
的值(默认情况下,~/go
如果未设置)
如果
$GOPATH/bin
(或~/go/bin
)在您的$PATH
中?
OP camilla确认它不是:
$PATH
还有:/Users/username/go/bin/protoc gen go
它应该有
:/Users/username/go/bin
我目前在我的protoc.exe.旁边有一个名为addressbook.proto的文件,我在生成. h和. cc文件时遇到了困难 然而,我得到以下回应 关于我可能做错了什么有什么建议吗?
我按照协议缓冲区的教程,我在编译时不断遇到不同的错误。我的addressbook.proto文件在中
我试图安装Caffe库,但我有一个编译问题,由于一个错误的原型版本安装在我的系统。 我在论坛上遵循了许多提议的方法,我认为在这篇帖子中讨论了最类似的问题。 在caffe.pb.h中控件是: 但是在我的系统标头(/usr/include/google/cript buf/stubs/Common. h)中: 命令protoc--version从终端返回libprotoc 3.2.0。 所以我安装了3
问题内容: 我grep其他主题,但他们没有帮助我=(。在我的工作服务器上,我没有sudo特权,因此我使用 ./configure –prefix = / home /用户名/本地 然后,我用“ person”示例创建源文件,并使用protoc成功地对其进行编译。 我没有pkg-info =(。我尝试用 g ++ -I / home /用户名/本地/ include -L / home /用户名/本
我搜索其他主题,但它们对我没有帮助=(。在我的工作服务器上,我没有sudo特权,所以我安装PB时使用 ./配置--prefix=/home/用户名/本地 然后我用“人”例子创建源文件,并用协议成功编译。 我没有pkg信息=(。我尝试用 g-I/home/username/local/include-L/home/username/local/lib-lprotobuf-lpthread main。
在阅读这个相当长的问题之前,我提出了一个bughttps://github.com/GoogleCloudPlatform/python-docs-samples/issues/1103. 原型包和名称解析的留档状态 您可以使用其他定义。通过导入原始文件。导入另一个。在proto的定义中,您可以在文件的顶部添加一条import语句。 我的依赖于annotations.proto将HTTP/JSON