无法在 ubuntu 中为 golang 编译 proto 文件
Can not compile proto file in ubuntu for golang
我已经安装了这些软件包:
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, as you are on an ubuntu
machine, I suggest you download 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
命令。你应该得到如下内容
如果您仍然遇到任何问题,请告诉我。
希望对您有所帮助!
最后在Amit的帮助下,我安装了protoc。但是当我用这个命令编译原型文件时
protoc --go_out=. add/add.proto
go 编译后的文件不包含一些功能,例如:RegisterGreeterServer 或 NewGreeterClient。
通过 this reply 我发现了问题并添加了 plugins=grpc
,然后尝试了这个命令并且成功了:
protoc --go_out=plugins=grpc:. add/add.proto
我已经安装了这些软件包:
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, as you are on an ubuntu
machine, I suggest you download 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
命令。你应该得到如下内容
如果您仍然遇到任何问题,请告诉我。
希望对您有所帮助!
最后在Amit的帮助下,我安装了protoc。但是当我用这个命令编译原型文件时
protoc --go_out=. add/add.proto
go 编译后的文件不包含一些功能,例如:RegisterGreeterServer 或 NewGreeterClient。
通过 this reply 我发现了问题并添加了 plugins=grpc
,然后尝试了这个命令并且成功了:
protoc --go_out=plugins=grpc:. add/add.proto