goprotocol-buffersgrpcprotoprotoc

Error "protoc-gen-go: program not found or is not executable"


I am trying to build a sample application with Go gRPC, but I am unable to generate the code using "protoc"

I have installed the required libraries and Go packages using:

  1. go get -u google.golang.org/grpc
  2. go get -u github.com/golang/protobuf/protoc-gen-go

I have tried setting the path as well, but no luck.

Sample "proto" file:

syntax = "proto3";

package greet;
option go_package="greetpb";

service GreetService{}

Error message:

"protoc-gen-go: program not found or is not executable
--go_out: protoc-gen-go: Plugin failed with status code 1."


Solution

  • I resolved it by following these steps:

    Install the Go library using:

    go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
    
    1. Run vim ~/.bash_profile
    2. Add:
      export GO_PATH=~/go
      export PATH=$PATH:/$GO_PATH/bin
      
    3. Run source ~/.bash_profile

    Reference: Unable to build protobuf to go endpoint