我已经安装了以下软件包:
google.golang.org/grpc
github.com/golang/protobuf/protoc-gen-go
并导出路径,如下所示:
export PATH=$PATH:/usr/local/go/bin
当我尝试使用 protoc 命令编译proto文件时,我看到命令未找到错误:
protoc --go_out=. helloworld/helloworld.proto
zsh: command not found: protoc
我的项目路径是:
/home/my-username/go/src/github.com/my-username/helloworld
我的Go版本:go1.12.5
我使用ubuntu 18.04
当我使用二进制文件安装它时,它可以工作,但是编译后的go文件不包含某些功能,例如:RegisterGreeterServer或NewGreeterClient
最佳答案
zsh: command not found: protoc
表示您的计算机上未安装protoc
。为此,您需要从Official Releases下载二进制文件,就像在ubuntu
机器上一样,建议您下载protoc-3.7.1-linux-x86_64.zip(这是撰写此答案时的最新protoc
,您应检查releases
并下载最新版本)。
您可以通过浏览器下载或使用以下命令: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
现在解压缩,您将获得两个文件夹“bin”和“include”。
将bin/protoc
复制为/usr/local/bin/protoc
,并将include/google
复制为/usr/local/include/google
这将在您的计算机上正确安装protoc
。
要查看是否已正确安装,请尝试在终端上执行protoc
命令。您应该得到类似以下内容
如果您仍然遇到任何问题,请告诉我。
希望这可以帮助!
关于go - 无法在ubuntu中为golang编译原始文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56287808/