解决‘protoc-gen-grpc-gateway‘ 不是内部或外部命令的问题

在Windows 10环境下,由于网络限制,使用goinstall命令下载grpc-gateway失败,改用goget命令将依赖下载到本地gopath。之后在对应目录手动编译并安装生成exe文件,解决了protoc-gen-grpc-gateway执行时的错误。该过程涉及Go模块管理、编译及路径设置。

1、问题背景

操作系统:win10

GO版本:go.1.15.5

GO mod相关配置为:

因为被墙的原因,无法直接执行命令

go install github.com/grpc-ecosystem/grpc-gateway/tree/v1.16.0/protoc-gen-grpc-gateway  

因此,只能先执行命令:

go get github.com/grpc-ecosystem/grpc-gateway/tree/v1.16.0/protoc-gen-grpc-gateway  

先down到本地的go path相关的目录下:

在执行命令

protoc -I=. --grpc-gateway_out=paths=source_relative,grpc_api_configuration=trip.yaml:gen/go trip.proto

生成pb.gw.go文件时候,抛出错误:

`protoc-gen-openapi` 是一个 Google Protocol Buffers (gRPC) 和 OpenAPI 的生成工具插件,它能够将 `.proto` 文件(protobuf 格式的服务和消息定义)转换成 OpenAPI规范的 `yaml` `json` 描述文件,也就是 `openapi.yaml`。这个工具允许你在设计 gRPC API 的同时,也能方便地生成开放API文档。 以下是使用 protoc-gen-openapi 自动化生成 `openapi.yaml` 的步骤: 1. **安装插件**:首先确保你已经安装了 `protoc`(Protocol Compiler),它是编译 `.proto` 文件的基本工具。然后从 GitHub 获取 `protoc-gen-openapigen`,通常需要将其添加到项目依赖全局路径下。 ```bash # 如果还没有安装 git clone https://github.com/grpc-ecosystem/grpc-gateway.git cd grpc-gateway/third_party/protoc-gen-openapigen make ``` 2. **生成插件**:在安装目录下,找到 `gen_openapigen.py` 并将其路径加入到 `protoc` 的搜索路径中,通常是通过环境变量 `GRPC_GATEWAY_PROTOBUF_PLUGIN` 设置。 3. **运行命令**:使用 `protoc` 和新生成的插件,指定你想要转换的 `.proto` 文件,并指定输出目录和 OpenAPI配置选项,例如: ```bash protoc -I=your_proto_directory --openapigen_out=grpc_api/openapi --openapigen_opt=host=http://your-service.example.com your_proto_file.proto ``` 这里 `--openapigen_opt` 参数可以定制更多 OpenAPI配置,如标题、描述、版本等。 4. **查看结果**:在指定的输出目录 `grpc_api/openapi` 下,你会找到生成的 `openapi.yaml` 文件,这就是你的 gRPC API 的 OpenAPI文档。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DreamCatcher

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值