网站的流量怎么赚钱,经销做网站都有什么好处,网页设计代码文字浮动,网站产品优化前言 protoc 是 protobuf 文件(.proto)的编译器#xff0c;可以借助这个工具把 .proto 文件转译成各种编程语言对应的源码#xff0c;包含数据类型定义、调用接口等。 protoc 在设计上把 protobuf 和不同的语言解耦了#xff0c;底层用 c 来实现 protobuf 结构的存储#x… 前言 protoc 是 protobuf 文件(.proto)的编译器可以借助这个工具把 .proto 文件转译成各种编程语言对应的源码包含数据类型定义、调用接口等。 protoc 在设计上把 protobuf 和不同的语言解耦了底层用 c 来实现 protobuf 结构的存储然后通过插件的形式来生成不同语言的源码。 可以把 protoc 的编译过程分成简单的两个步骤 1)解析 .proto 文件转译成 protobuf 的原生数据结构在内存中保存 2)把 protobuf 相关的数据结构传递给相应语言的编译插件由插件负责根据接收到的 protobuf 原生结构渲染输出特定语言的模板。 protoc-gen-go 是 protobuf 编译插件系列中的Go版本。 设置开启GO111MODULE、配置代理 go env -w GO111MODULEon
go env -w GOPROXYhttps://goproxy.cn/ 安装 kratos go install github.com/go-kratos/kratos/cmd/kratos/v2latestkratos upgradego mod tidy # 更新依赖库 安装 protobuf 相关库 # 安装 proto
go get -u github.com/golang/protobuf/proto# kratos升级到最新版
sudo kratos upgrade# 安装 protoc-gen-go-grpc
go get -u google.golang.org/grpc/cmd/protoc-gen-go-grpclatest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpclatest# 安装 protoc-gen-go-http
go get -u github.com/go-kratos/kratos/cmd/protoc-gen-go-http/v2
go install github.com/go-kratos/kratos/cmd/protoc-gen-go-http/v2# 安装 protoc-gen-go
go get -u github.com/golang/protobuf/protoc-gen-golatest
go install github.com/golang/protobuf/protoc-gen-golatest# 安装 protoc-gen-go-errors
go get -u github.com/go-kratos/kratos/cmd/protoc-gen-go-errors/v2
go install github.com/go-kratos/kratos/cmd/protoc-gen-go-errors/v2# 安装 protoc-gen-openapiv2
go get -u github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2# 安装 protoc-gen-validate
go get -u github.com/envoyproxy/protoc-gen-validate
go install github.com/envoyproxy/protoc-gen-validate 生成所有proto源码、wire等等下面命令二选一 go generate ./... go run generate.go ./.. 运行项目 kratos run