大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Mac下protobuf生成文件报错问题解决办法,windows下就不会这么麻烦了,如果linux下出现类似报错信息按照下面的解决逻辑依然适用。
成都创新互联是一家专业提供沙湾企业网站建设,专注与成都做网站、网站建设、H5网站设计、小程序制作等业务。10年已为沙湾众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
1.报错信息:
user@C02FP58GML7H pbfile % protoc --go_out=./ ./user.proto
protoc-gen-go: 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_out: protoc-gen-go: Plugin failed with status code 1.
2.解决办法:
/usr/local/bin/
目录下,该文件通过go get安装时会默认安装在$GOPATH/go/bin目录下,博主本人的安装路径/Users/user/go/bin
3.结果示例:
user@C02FP58GML7H bin % vim ~/.bash_profile
user@C02FP58GML7H bin % source ~/.bash_profile
1.按照官方命令生成文件:
# product.proto是博主本人的文件,执行的时候需要修
protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative product.proto
2.报错信息如下:
user@C02FP58GML7H pbfile % protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative product.proto
protoc-gen-go-grpc: 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-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.
3.重新安装一下:
# 旧版本下载方式(此示例是根据旧版本下载来解决得,如果操作之后依然报错就直接使用新版本下载方式)
sudo go get -u google.golang.org/protobuf/cmd/protoc-gen-go
sudo go get -u google.golang.org/grpc/cmd/protoc-gen-go-grpc
# 新版本下载方式
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
4.将protoc-gen-go和protoc-gen-go-grpc复制到/usr/local/bin/目录下
使用go env
查看GOPATH
的路径,默认安装在这个文件夹下的bin文件夹中
5.检查/添加环境变量
使用命令cat ~/.bash_profile
查看环境变量中是否存在:export PATH=/usr/local/go/bin
存在 刷新一下环境变量配置:source ~/.bash_profile
不存在 使用vim添加:export PATH=/usr/local/go/bin
刷新一下环境变量配置:source ~/.bash_profile
6.执行protoc命令生成文件即可
product.proto是声明文件
生成文件命令:protoc --go_out=./ ./product.proto
生成rpc文件命令:protoc --go_out=./ --go-grpc_out=./ product.proto