首页IT科技.proto文件(Protobuf生成文件报错)

.proto文件(Protobuf生成文件报错)

时间2025-05-05 21:56:02分类IT科技浏览4256
导读:Mac下protobuf生成文件报错问题解决办法,windows下就不会这么麻烦了,如果linux下出现类似报错信息按照下面的解决逻辑依然适用。...

Mac下protobuf生成文件报错问题解决办法            ,windows下就不会这么麻烦了                 ,如果linux下出现类似报错信息按照下面的解决逻辑依然适用           。

1           、由--go_out引发的报错

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.解决办法:

找到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_profile

3.结果示例:

user@C02FP58GML7H bin % vim ~/.bash_profile user@C02FP58GML7H bin % source ~/.bash_profile /Users/user/.bash_profile:source:3: no such file or directory: /usr/local/bin/virtualenvwrapper.sh

2                  、由--go-grpc_out和protoc-gen-go-grpc引发的报错

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

4.将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_profile

6.执行protoc命令生成文件即可

product.proto是声明文件

生成文件命令:protoc --go_out=./ ./product.proto

生成rpc文件命令:protoc --go_out=./ --go-grpc_out=./ product.proto

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
如何做好网站页面优化工作(如何做好网站页面优化策略) 如何获得网站推广优化的排名?(从研究到链接建设,有效提高网站排名)