栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

Windows 安装、使用 protoc

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Windows 安装、使用 protoc

protoc 是官方提供的编译器,用于将 .proto 文件,转换成各种语言的 protocol buffer 代码。

安装

1、下载编译器 protoc

https://github.com/protocolbuffers/protobuf/releases/tag/v3.19.1https://github.com/protocolbuffers/protobuf/releases/tag/v3.19.12、将压缩包中

/bin/protoc.exe

放到

${GOPATH}/bin

3、安装 protoc-gen-go 插件

go get -u github.com/golang/protobuf/protoc-gen-go

安装 protoc-gen-go-grpc 插件

cd Go_pathsrcgoogle.golang.org
git clone https://github.com/grpc/grpc-go
go install google.golang.orggrpc-gocmdprotoc-gen-go-grpc

使用

Go Generated Codehttps://developers.google.com/protocol-buffers/docs/reference/go-generated#package

protoc.exe *.proto --go_out=./    # --go_out 生成 go 代码,不带 rpc

protoc.exe *.proto --go_grpc_out=./   # --go_grpc_out 生成 go 代码,带 rpc,注意 proto 中要定义过 service

- plugins=plugin1 + plugin2: 指定要加载的子插件列表

--go_opt=paths=source_relative
--go-grpc_opt=paths=source_relative

报错及解决方法 1、
protoc-gen-go: unable to determine Go import path for "xxx.proto"


Please specify either:
        • a "go_package" option in the .proto source file, or
        • a "M" argument on the command line.

根据提示,在  https://developers.google.com/protocol-buffers/docs/reference/go-generated#package 中要求加上 option:

option go_package = "example.com/project/protos/fizz";

2、

生成 grpc 代码报错:

'protoc-gen-go-grpc' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
--go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.

是因为需要再安装 protoc-gen-go-grpc 插件

cd Go_pathsrcgoogle.golang.org
git clone https://github.com/grpc/grpc-go
go install google.golang.orggrpc-gocmdprotoc-gen-go-grpc

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/965761.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号