kratos安裝及依賴安裝

Οo白麒麟оΟ發表於2024-03-10

前言

protocprotobuf 檔案(.proto)的編譯器,可以藉助這個工具把 .proto 檔案轉譯成各種程式語言對應的原始碼,包含資料型別定義、呼叫介面等。

protoc 在設計上把 protobuf 和不同的語言解耦了,底層用 c++ 來實現 protobuf 結構的儲存,然後透過外掛的形式來生成不同語言的原始碼。

可以把 protoc 的編譯過程分成簡單的兩個步驟:

1)解析 .proto 檔案,轉譯成 protobuf 的原生資料結構在記憶體中儲存;

2)把 protobuf 相關的資料結構傳遞給相應語言的編譯外掛,由外掛負責根據接收到的 protobuf 原生結構渲染輸出特定語言的模板。

protoc-gen-goprotobuf 編譯外掛系列中的Go版本。

設定開啟GO111MODULE、配置代理

  1. go env -w GO111MODULE=on
    
    go env -w GOPROXY=https://goproxy.cn/

安裝 kratos

  1. go install github.com/go-kratos/kratos/cmd/kratos/v2@latest
    
    kratos upgrade
    
    go mod tidy # 更新依賴庫

安裝 protobuf 相關庫

  1. # 安裝 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-grpc@latest
    
    go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
    
    
    
    # 安裝 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-go@latest
    
    go install github.com/golang/protobuf/protoc-gen-go@latest
    
    
    
    # 安裝 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等等,下面命令二選一

  1. go generate ./...
    
    
    
    go run generate.go ./..

執行專案

kratos run

相關文章