0
votes

I've installed these packages:

google.golang.org/grpc

github.com/golang/protobuf/protoc-gen-go

and exported path like this:

export PATH=$PATH:/usr/local/go/bin

when I try compile proto file with protoc command, I see command not found error:

protoc --go_out=. helloworld/helloworld.proto 

zsh: command not found: protoc

my project path is like: /home/my-username/go/src/github.com/my-username/helloworld

my go version: go1.12.5

and I use ubuntu 18.04

When I install it with binary file it works, but compiled go file does not contain some functions like: RegisterGreeterServer or NewGreeterClient

2
Do you install proto ?Зелёный
@Зелёный yes installed itAliasghar Soltani
Try to find protoc in the /usr/bin or /usr/local/bin.Зелёный
there is no such fileAliasghar Soltani
hence the installation of protobuf is failed. Protobuf deliver protoc.Зелёный

2 Answers

3
votes

zsh: command not found: protoc indicates that protoc is not installed on your machine. To do so, you need to download binary from Official Releases, as you are on an ubuntu machine, I suggest you download protoc-3.7.1-linux-x86_64.zip (This is latest protoc at the time of writing this answer, you should check on the releases and download latest version)

You can download via browser or use following command:

wget "https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protoc-3.7.1-linux-x86_64.zip" -O protoc-3.7.1-linux-x86_64.zip

Now unzip, you'll get two folders, "bin" and "include".

Copy bin/protoc to /usr/local/bin/protoc and include/google to /usr/local/include/google

This will properly install protoc on your machine.

To see if it got installed properly, try executing protoc command on your terminal. You should get something like following

enter image description here

If you still face any issues, please let me know.

Hope this helps!

0
votes

Finally with help of Amit, I installed protoc. but when I compiled proto file with this command

protoc --go_out=. add/add.proto    

go compiled file did not contain some functions like: RegisterGreeterServer or NewGreeterClient for instance.

by this reply I found out issue and added plugins=grpc, then tried this command and it worked:

protoc --go_out=plugins=grpc:. add/add.proto