0

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

Ali Soltani
  • 589
  • 1
  • 7
  • 21

3 Answers3

3

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!

Dave Amit
  • 2,299
  • 12
  • 17
  • Thank you, it helped me. I found out issue and posted my answer https://stackoverflow.com/a/56293038/6173668 – Ali Soltani May 24 '19 at 12:53
  • Just to add, the files that goes to include folder under `/usr/local/include` should be copied along with directory structure. – Sunil Kumar Apr 18 '20 at 18:40
0

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
Ali Soltani
  • 589
  • 1
  • 7
  • 21
0

I know its too late to discuss about it, but just in case it might be helpful for some one else, you can download protobuf for golang from github address Github Repo

and by navigating to {$LIB_PATH}/protobuf/protoc-gen-go and running "go build ." having a compiled binary from generator, and then add it to your path for feature usage

Omid H
  • 53
  • 8