我已经安装了这些软件包:
google.golang.org/grpc
github.com/golang/protobuf/protoc-gen-go
并按以下方式导出路径:
protoc --go_out=. helloworld/helloworld.proto
zsh: command not found: protoc
当我尝试使用 protoc 命令编译原始文件时,看到命令未找到错误:
/home/my-username/go/src/github.com/my-username/helloworld
我的项目路径如下:import wx
app = wx.App()
frame = wx.Frame(None, title="Simple")
frame.Show()
app.MainLoop()
我的go版本:go1.12.5
我使用ubuntu 18.04
当我使用二进制文件安装它时,它可以工作,但是编译后的go文件不包含某些功能,例如:RegisterGreeterServer或NewGreeterClient
答案 0 :(得分:1)
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
命令。您应该会得到类似
如果您仍然遇到任何问题,请告诉我。
希望这会有所帮助!
答案 1 :(得分:0)
最后,在Amit的帮助下,我安装了协议。但是当我用这个命令编译原始文件时
protoc --go_out=. add/add.proto
go编译文件不包含某些功能,例如:RegisterGreeterServer或NewGreeterClient。
通过this reply,我发现了问题并添加了plugins=grpc
,然后尝试了此命令,它起作用了:
protoc --go_out=plugins=grpc:. add/add.proto