为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
一只斗牛犬 2023-06-19 16:08:37
我已经安装了这些包:google.golang.org/grpcgithub.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
查看完整描述

3 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

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/protocinclude/google/usr/local/include/google

这将正确安装protoc在您的机器上。

要查看它是否安装正确,请尝试protoc在终端上执行命令。你应该得到类似下面的东西

//img1.sycdn.imooc.com/64900da70001b58706550594.jpg

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



查看完整回答
反对 回复 2023-06-19
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

我知道现在讨论它为时已晚,但以防万一它可能对其他人有帮助,您可以从 github 地址 Github Repo下载 golang 的 protobuf

并导航到 {$LIB_PATH}/protobuf/protoc-gen-go 并运行“go build”。从生成器中编译二进制文件,然后将其添加到您的路径以供使用功能


查看完整回答
反对 回复 2023-06-19
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

我安装了 protoc。但是当我用这个命令编译原型文件时

protoc --go_out=. add/add.proto

go 编译文件不包含一些功能,例如:RegisterGreeterServer 或 NewGreeterClient。

发现了问题并添加了plugins=grpc,然后尝试了这个命令并且它起作用了:

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


查看完整回答
反对 回复 2023-06-19
  • 3 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信