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:
go get -u google.golang.org/grpc
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."
Download protoc-win32. zip from https://developers.google.com/protocol-buffers/docs/downloads. Unzip and add location of the protoc.exe to your PATH environment variable. Run `protoc --version` from command prompt to verify.
Using protocol buffers with Go To compile the protocol buffer definition, run protoc with the --go_out parameter set to the directory you want to output the Go code to. The generated files will be suffixed . pb.go. See the Test code below for an example using such a file.
There are two ways to install the protobuf compiler. If you're on Ubuntu you can use this:
sudo apt install protobuf-compiler
Then of course there's the standard way:
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
Here forward it's just adding the path. Assuming when you installed Go you did this,
echo 'export GOPATH=$HOME/Go' >> $HOME/.bashrc source $HOME/.bashrc
Now you can just extend this:
echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.bashrc source $HOME/.bashrc
Strangely protoc
can't expand ~
.
Tannisha Hill indicated that the following package had to be added:
sudo apt install protobuf-compiler
In my case, I also had to add this one:
sudo apt install golang-goprotobuf-dev
I resolved it by following these steps:
Install the Go library using:
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
vim ~/.bash_profile
export GO_PATH=~/go
export PATH=$PATH:/$GO_PATH/bin
source ~/.bash_profile
Reference: Unable to build protobuf to go endpoint
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With