🐈

[Go] [gRPC] protoc-gen-go: program not found or is not executable

2022/11/19に公開

What

gRPCの学習で初っ端からエラー。

$ protoc --go_out=../gofile/ --go_opt=paths=source_relative --go-grpc_out=../gofile/ --go-grpc_opt=paths=source_relative dummy.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.

エラー内容から、そもそもプログラムがないとか、実行できない、PATHに問題ありと書かれている気がするが、どれが原因かわからなかった。

解決

以下の記事を参考にしたところ解決。
参考になりました。ありがとうございます。
https://zenn.dev/matsumaru/scraps/bca64f862b8e02
https://qiita.com/nannou/items/71769441bd6f10800242

PATHが通っていない。

$ protoc-gen-go --version
bash: protoc-gen-go: command not found
$ export PATH="$PATH:$(go env GOPATH)/bin"

バージョン引数は通らんで、ってなったけど、この後冒頭のコマンドが通った。

$ protoc-gen-go --version
protoc-gen-go: unknown argument "--version" (this program should be run by protoc, not directly)

備考

公式の手順を見返してみたら、これが関係あったのかも?

Update your environment’s path variable to include the path to the protoc executable. For example:

$ export PATH="$PATH:$HOME/.local/bin"

https://grpc.io/docs/protoc-installation/

Discussion