无法在ubuntu中为golang编译proto文件

xam8gpfp  于 2023-01-03  发布在  Go
关注(0)|答案(3)|浏览(179)

我已经安装了这些软件包:

谷歌.戈兰.org/grpc
github.com/戈兰/协议缓冲区/协议生成器-go

导出路径如下所示:

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

当我尝试用protoc命令编译proto文件时,我看到命令未找到错误:

protoc --go_out=. helloworld/helloworld.proto 

zsh: command not found: protoc

我的项目路径是这样的:第一个月
我的围棋版本:目标1.12.5
我用的是ubuntu18.04
当我用二进制文件安装它时,它可以工作,但编译后的go文件不包含一些函数,如:注册问候语服务器或新建问候语客户端

flvlnr44

flvlnr441#

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命令。

如果您仍然面临任何问题,请让我知道。
希望这有帮助!

os8fio9y

os8fio9y2#

最后在Amit的帮助下,我安装了protoc。但是当我用这个命令编译proto文件时

protoc --go_out=. add/add.proto

go编译文件不包含一些函数,如:例如注册问候服务器或新问候客户端。
通过这个回复,我发现了问题,并添加了plugins=grpc,然后尝试这个命令,它的工作:

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

h4cxqtbf3#

我知道现在讨论这个问题已经太晚了,但是为了防止它对其他人有帮助,您可以从github地址Github Repo下载protobuf for golang
导航到{$LIB_PATH}/protobuf/protoc-gen-go并运行“go build .”,从生成器获得已编译的二进制文件,然后将其添加到路径中以供功能使用

相关问题