我是靠谱客的博主 自然身影,这篇文章主要介绍--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文件如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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版本以上就需要加了)

复制代码
1
2
3
4
5
6
7
8
9
10
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:内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部