我是靠谱客的博主 自然身影,最近开发中收集的这篇文章主要介绍--go_out: protoc-gen-go: Plugin output is unparseable: Active code page: 65001,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
参考资料 protoc-gen-go: plugin output is unparseable | protoc 被 Windows 的命令行坑惨了!
多谢大神的帮助!
正文
代码
学习go的protobuf时,运行protoc --go_out=. *.proto
怎么都没有反应。proto文件如下:
syntax = "proto3";
package pb;
option go_package="./"; //这个指定生成的文件放到哪个包下,这里指定存放当前目录
message Person {
string name = 1;
int32 age = 2;
repeated string emails = 3;
repeated string phones = 4;
}
message PhoneNumber {
string number = 1;
PhoneType type = 2;
}
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
上面的option go_package
一定要指定,不然会报如下错误(据说是go 1.4版本以上就需要加了)
protoc-gen-go: unable to determine Go import path for "Person.proto"
Please specify either:
• a "go_package" option in the .proto source file, or
• a "M" argument on the command line.
See https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.
--go_out: protoc-gen-go: Plugin failed with status code 1.
错误描述
运行protoc --go_out=. *.proto
时,又报了如下错误
主要看第一句
--go_out: protoc-gen-go: Plugin output is unparseable: Active code page: 65001
经过参考博客的大神提醒,我之前在学go语言的一个小demo(tcp通信)项目时,cmd中出现中文乱码问题,为了解决这个问题,在注册表中设置了一个autorun项,执行页面65001。(查看注册表是否有该项以及原因,具体参考顶部的参考文献)
然后前往注册表,将该autorun项删除即可。
再次感谢大佬
最后
以上就是自然身影为你收集整理的--go_out: protoc-gen-go: Plugin output is unparseable: Active code page: 65001的全部内容,希望文章能够帮你解决--go_out: protoc-gen-go: Plugin output is unparseable: Active code page: 65001所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复