有人成功使用"ruby协议缓冲区"gem吗?我在编译基本原型文件时遇到问题:
package Test;
message MyMessage
{
optional string myField = 1;
}
当我呼叫ruby-protoc test.proto
时,我收到以下错误消息:
Person.proto:5:3: Expected "required", "optional", or "repeated".
Person.proto:6:3: Expected "required", "optional", or "repeated".
/var/lib/gems/1.9.1/gems/ruby-protocol-buffers-1.4.1/lib/protocol_buffers/compiler.rb:15:in `compile': 1 (ProtocolBuffers::CompileError)
from /var/lib/gems/1.9.1/gems/ruby-protocol-buffers-1.4.1/bin/ruby-protoc:38:in `<top (required)>'
from /usr/local/bin/ruby-protoc:23:in `load'
from /usr/local/bin/ruby-protoc:23:in `<main>'
非常感谢,
Tomek
我也遇到过类似的问题,但在我的情况下,问题是我已经为protobuf安装了rubygem,但我没有安装rubygem所依赖的谷歌的protobuf。在终端中验证:
$ protoc --version
如果"protoc:command not found",则解决方案(在OSX上使用自制软件)为:
$ brew install protoc
$ protoc --version
libprotoc 2.6.1
然后使用您的测试消息编译作品w/o投诉-
$ ruby-protoc test.proto
$