当前位置: 首页 > 知识库问答 >
问题:

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

颜文康
2023-03-14

我已安装以下软件包:

谷歌。戈朗。组织/grpc

github。com/golang/protobuf/protoc gen go

导出的路径如下:

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

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

protoc --go_out=. helloworld/helloworld.proto 

zsh: command not found: protoc

我的项目路径如下:/home/my username/go/src/github。com/我的用户名/helloworld

我的go版本:go1.12.5

我使用ubuntu 18.04

当我使用二进制文件安装它时,它可以工作,但编译后的go文件不包含一些函数,例如:registerGreeterServer或NewGreeterClient


共有2个答案

邢高澹
2023-03-14

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

protoc --go_out=. add/add.proto    

go编译的文件不包含一些函数,例如:RegisterGreeterServer或NewGreeterClient。

通过此回复,我发现了问题并添加了plugins=grpc,然后尝试了此命令,它成功了:

protoc --go_out=plugins=grpc:. add/add.proto
常永怡
2023-03-14
匿名用户

zsh:命令未找到:规程表示您的机器上没有安装规程。为此,您需要从官方发布中下载二进制文件,因为您在ubuntu机器上,我建议您下载规程-3.7。1-linux-x86_64.zip(在撰写此答案时,这是最新的规程,您应该检查版本并下载最新版本)

您可以通过浏览器下载或使用以下命令:

<代码>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\u 64.zip

现在解压缩,您将获得两个文件夹,“bin”和“include”。

将bin/protoc复制到/usr/local/bin/protoc并将include/google复制到/usr/local/include/google

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

要查看它是否正确安装,请尝试在终端上执行protoc命令。你应该得到如下信息

如果您仍然面临任何问题,请告诉我。

希望这有帮助!

 类似资料:
  • 问题内容: 好的,所以我下载了Go 1.1,并将其放入$ HOME / Documents / go。 然后,我将我修改为: 比起我,我已经尝试了: 但是我无法编译或安装任何依赖项。例如。我尝试运行我的小测试程序: 当我尝试安装依赖项时: 它可以在Mac上编译并正常工作。如果我尝试删除配置或什么都行不通,并且我不知道将它们设置为什么,除了Go的路径,我无法弄清楚我的配置有什么问题。 编辑:我的Ma

  • 问题内容: 如何在Ubuntu上编译/安装node.js?失败,并显示错误消息。 问题答案: 一线 安装所有必需的依赖项(curl和git并不是真正需要的,但是非常有用,如果通过nvm安装也需要)。 并非总是需要最后两个依赖项,但是无论如何安装它们确实很有用,而且以后可能也需要它。 仅安装 cxx编译器 如果 openssl 丢失

  • 我正在使用TensorFlow为一个对象识别项目设置环境。当谈到编译一些. proto文件时,我碰壁了。它需要努力找到文件的路径/然后找到Pro buf应用程序的路径/然后继续命令每个原型文件!! 我在做什么/试图做什么:按照这个(https://www.edureka.co/blog/tensorflow-object-detection-tutorial/#object)关于edureka的教

  • 我从github获得了一个项目的源代码(一个android应用程序),我正在尝试推出它,这个项目叫做“RTKGPS+”,它是一个使用C++库Rtklib来玩GPS和原始测量的Anroid应用程序。 我的Android环境配置很低, 我无法编译这个项目,我得到了以下错误: null null 我尝试从以下答案添加分级代码:https://stackoverflow.com/a/50707270/63

  • 我想在node.js Web服务器中使用typescript。但是,Web服务器位于Docker容器中。我使用Dockerfile,就像使用blow: 在构建Docker之后,我发现在CMD命令之后不会生成webApp.js。为什么,我应该如何解决?谢谢

  • 问题内容: 我在Go 1中使用条件编译遇到了麻烦。 这是我的测试代码。关于“ // + build”约束和“ -tags”标志,我有什么误解吗? main1.go main2.go 运行“执行构建”时,我仍然出现编译错误 问题答案: 您必须跟随一个空白行。 在我的简短搜索中,找不到该文件的记录位置/位置。但消息人士明确指出