前提・実現したいこと
gRPCを勉強中です。
.protoファイルをprotocを使ってgRPCのコードを作成する認識なのですが、
その際のprotocコマンドの使い方が各サイトによって異なっていて混乱しております。
正式な書き方を教えていただきたいです。
よろしくお願い致します。
・ProtocolBuffersの公式ドキュメント
protoc -I=$SRC_DIR --go_out=$DST_DIR $SRC_DIR/addressbook.proto
・Quick start Go
$ protoc --go_out=. --go_opt=paths=source_relative
--go-grpc_out=. --go-grpc_opt=paths=source_relative
helloworld/helloworld.proto
・とあるサイト
protoc --go_out=plugins=grpc:chat chat.proto
7/8追記ーーーーーーーーーーーー
.pb.goファイルのみを.protoから生成することはできます。
ですが、_grpc.pb.goファイルも生成する必要がある認識で
上記のQuick start Go のprotocコマンドを実行するとエラーになってしまいます。($を抜いた3行をそのまま入力しております。)
エラーにならずに.pb.goファイルと_grpc.pb.goファイルを生成するには何が問題でどのように解決できるのかを教えていただきたいです。
Quick start Go のprotocコマンド実行時のエラー
下記のように1行ずつで認識されているようです、、
C:\go\src\renshu\helloworld>protoc --go_out=. --go_opt=paths=source_relative
Could not make proto path relative: : No such file or directory
C:\go\src\renshu\helloworld> --go-grpc_out=. --go-grpc_opt=paths=source_relative
'--go-grpc_out' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
C:\go\src\renshu\helloworld> helloworld/helloworld.proto
補足情報(FW/ツールのバージョンなど)
go version go1.16.5 windows/amd64
protoc --version
libprotoc 3.17.3
追記
.pb.goファイル以外に_grpc.pb.goファイルが生成されるときがあり
これが何の役割をしているのかについても調べたのですが、これと言ってみつけっれず。。
もしお分かりになれば加えて教えていただきたいです。
あなたの回答
tips
プレビュー