Protobuf生成文件报错
Mac下protobuf生成文件报错问题解决办法windows下就不会这么麻烦了如果linux下出现类似报错信息按照下面的解决逻辑依然适用。1、由–go_out引发的报错1.报错信息userC02FP58GML7H pbfile % protoc--go_out./ ./user.proto protoc-gen-go: program not found or is not executable Please specify a program using absolute path ormakesure the program is availableinyourPATHsystem variable --go_out: protoc-gen-go: Plugin failed with status code1.2.解决办法找到protoc-gen-go 文件复制文件到/usr/local/bin/目录下该文件通过go get安装时会默认安装在$GOPATH/go/bin目录下博主本人的安装路径/Users/user/go/bin执行复制命令cp protoc-gen-go /usr/local/bin/修改环境变量配置vim ~/.bash_profile添加export GOPATH$HOME/go PATH$PATH:$GOPATH/bin刷新环境变量source ~/.bash_profile3.结果示例userC02FP58GML7H bin %vim~/.bash_profile userC02FP58GML7H bin %source~/.bash_profile2、由–go-grpc_out和protoc-gen-go-grpc引发的报错1.按照官方命令生成文件# product.proto是博主本人的文件执行的时候需要修protoc--go_out.--go_optpathssource_relative --go-grpc_out. --go-grpc_optpathssource_relative product.proto2.报错信息如下userC02FP58GML7H pbfile % protoc--go_out.--go_optpathssource_relative --go-grpc_out. --go-grpc_optpathssource_relative product.proto protoc-gen-go-grpc: program not found or is not executable Please specify a program using absolute path ormakesure the program is availableinyourPATHsystem variable --go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code1.3.重新安装一下# 旧版本下载方式此示例是根据旧版本下载来解决得如果操作之后依然报错就直接使用新版本下载方式sudogo get-ugoogle.golang.org/protobuf/cmd/protoc-gen-gosudogo get-ugoogle.golang.org/grpc/cmd/protoc-gen-go-grpc# 新版本下载方式goinstallgoogle.golang.org/protobuf/cmd/protoc-gen-gov1.28 goinstallgoogle.golang.org/grpc/cmd/protoc-gen-go-grpcv1.24.将protoc-gen-go和protoc-gen-go-grpc复制到/usr/local/bin/目录下使用go env查看GOPATH的路径默认安装在这个文件夹下的bin文件夹中切换目录cd /Users/user/go/bin博主的所在位置复制cp protoc-gen-go /usr/local/bin/复制cp protoc-gen-go-grpc /usr/local/bin/5.检查/添加环境变量使用命令cat ~/.bash_profile查看环境变量中是否存在export PATH/usr/local/go/bin存在 刷新一下环境变量配置source ~/.bash_profile不存在 使用vim添加export PATH/usr/local/go/bin刷新一下环境变量配置source ~/.bash_profile6.执行protoc命令生成文件即可product.proto是声明文件生成文件命令protoc --go_out./ ./product.proto生成rpc文件命令protoc --go_out./ --go-grpc_out./ product.proto

相关新闻

最新新闻

日新闻

周新闻

月新闻