#0 安装Kratos
go install github.com/go-kratos/kratos/cmd/kratos/v2@latest
kratos upgrade
#1 需要安装的工具
按文档的创建项目
开干,容易报错以下错误
protoc-gen-go-http: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
--go-http_out: protoc-gen-go-http: Plugin failed with status code 1.
其实还需要安装一下工具
# 1 先升级到最新版
sudo kratos upgrade
# 2 安装 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
# 3 安装 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
# 4 安装
go get -u github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2
go get -u github.com/envoyproxy/protoc-gen-validate
#2 生成代码
生成代码需要用到sudo
权限
kratos proto add api/v1/ota/ctrip/ctHotelCreateSubHotel.proto
sudo kratos proto client api/v1/ota/ctrip/ctHotelCreateSubHotel.proto
sudo kratos proto server api/v1/ota/ctrip/ctHotelCreateSubHotel.proto -t internal/service
如果kratos proto client
生成不了http
的代码
# kratos v2.0.3
sudo kratos proto client ./api/v1/ota/ctrip/CtHotelCreateSubHotel.proto -- --go-http_opt=omitempty=false
## 或者
make api
#3 运行
go generate ./...
kratos run