我已经安装了以下软件包:

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编译原始文件-LMLPHP

如果您仍然遇到任何问题,请告诉我。

希望这可以帮助!

关于go - 无法在ubuntu中为golang编译原始文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56287808/

10-10 04:32