Getting "protoc": executable file not found in $PATH when running "go generate" command

Issue

We have an application written in GoLang and we are using GRPC for defining service contracts.

When we try to run "go generate" command to generate stub from proto file it gives following error:

main.go:4: running "protoc": exec: "protoc": executable file not found in $PATH

Command format in code:

//go:generate protoc -I . --go-grpc_out=. --go_out=.  ./proto/service.proto

Note:

  • I have already installed protoc-gen-go and protoc-gen-go-grpc
  • Tried to search for the above error but haven’t been able to find a solution yet.

Solution

protoc-gen-go and protoc-gen-go-grpc are plugins for protoc. You need to install the protoc (the Protobuf compiler) itself, as explained in Go gRPC – Prerequisites.

See protobuf – Releases page for a download.

On a Mac can just use brew install protobuf.

Answered By – rustyx

Answer Checked By – Willingham (GoLangFix Volunteer)

Leave a Reply

Your email address will not be published.