美文网首页
GO Protoc与GRPC 记录

GO Protoc与GRPC 记录

作者: 一天天的啊哈哈 | 来源:发表于2023-04-01 16:46 被阅读0次

    做个笔记

    官方文档:https://grpc.io/docs/languages/go/quickstart/

    新版使用

    $ protoc --go_out=. --go_opt=paths=source_relative \
        --go-grpc_out=. --go-grpc_opt=paths=source_relative \
        helloworld/helloworld.proto
    

    or

    $ protoc -I . \
        --go_out ./gen/go/ --go_opt paths=source_relative \
        --go-grpc_out ./gen/go/ --go-grpc_opt paths=source_relative \
        your/service/v1/your_service.proto
    

    grpc-gateway使用:https://github.com/grpc-ecosystem/grpc-gateway

    如果报错:protoc-gen-grpc-gateway: 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
    --grpc-gateway_out: protoc-gen-grpc-gateway: Plugin failed with status code 1.

    表示grpc-gateway未找到,正常按照官方文档走的话,出的这个错,大概率是Go的配置问题,记得把GOPATH/bin添加到系统PATH里面,如下(主要是添加路径)

    // 我的是zsh,查看一下有没有添加GOPATH
    cat .zshrc
    // 编辑
    vim ~/.zshrc
    // 按 i 进入编辑模式,然后添加你的路径
    export GOPATH=/Users/**/go
    export GOBIN=$GOPATH/bin
    export PATH=$PATH:$GOBIN
    // 然后按 esc 退出编辑模式 按 :wq 保存退出
    // 配置生效
    source ~/.zshrc
    

    记录一下自己的gen.sh

    protoc -I . \
        --go_out ./gen/go/ --go_opt paths=source_relative \
        --go-grpc_out ./gen/go/ --go-grpc_opt paths=source_relative \
        my.proto
    
    protoc -I . --grpc-gateway_out ./gen/go \
        --grpc-gateway_opt paths=source_relative \
        --grpc-gateway_opt grpc_api_configuration=my.yaml \
        my.proto
    
    PROTO_PATH=./auth/api
    GO_OUT_PATH=./auth/api/gen/v1
    
    protoc -I $PROTO_PATH \
        --go_out $GO_OUT_PATH --go_opt paths=source_relative \
        --go-grpc_out $GO_OUT_PATH --go-grpc_opt paths=source_relative \
        auth.proto
    
    protoc -I $PROTO_PATH --grpc-gateway_out $GO_OUT_PATH \
        --grpc-gateway_opt paths=source_relative \
        --grpc-gateway_opt grpc_api_configuration=$PROTO_PATH/auth.yaml \
        auth.proto
    

    这个写的不错:https://www.cnblogs.com/remixnameless/p/15975971.html

    相关文章

      网友评论

          本文标题:GO Protoc与GRPC 记录

          本文链接:https://www.haomeiwen.com/subject/yszkddtx.html