動機
- gRPC の記事が意外と少ない
- 公式のチュートリアルが英語だし微妙に間違っている
- Ruby でやる方法もしっかり整理してお役にたちたい
環境
- macOS Sierra 10.12.1
- Ruby 2.3.1p112
- Homebrew
準備
Protocol Buffers
-
公式のリリースからダウンロードでも良いが、Homebrew で楽する
brew install protobuf
- Gem をインストール
-
公式の説明だと grpc だけで良さげな感じだがウソである
-
grpc
に加えgrpc-tool
も必要
-
ソース生成
- ここも更新されていないために間違っているのかプラグインは
grpc_ruby_plugin
ではない-
grpc-tool
に付属のgrpc_tools_ruby_protoc_plugin
が正解
-
protoc -I ../../protos --ruby_out=../lib --grpc_out=../lib --plugin=protoc-gen-grpc=`which grpc_tools_ruby_protoc_plugin` ../../protos/route_guide.proto
余談
- Windows だと DevKit に依存しているので芳しくない
-
gem install grpc --platform=ruby
だとインストールに失敗する - 現状だと Gem 付きで配布するには厳しいと思う