3

有没有人成功使用“ruby 协议缓冲区”gem?我在编译基本 proto 文件时遇到问题:

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>'

非常感谢,

托梅克

4

1 回答 1

0

我有一个类似的问题,但就我而言,问题是我已经为 protobuf 安装了 ruby​​gem,但我没有安装 ruby​​gem 所依赖的 Google 的 protobuf。在终端中验证:

$ protoc --version

如果“protoc: command not found”,那么解决方案(在 OSX 上使用 homebrew)是:

$ brew install protoc
$ protoc --version
libprotoc 2.6.1

然后使用没有投诉的测试消息编译作品 -

$ ruby-protoc test.proto
$
于 2015-03-18T23:17:42.997 回答