一.安装protobuf
https://github.com/protocolbuffers/protobuf/releases

在这里一定要确保你的protoc.exe是在你的gopath目录下,否则会报错protoc不是内部或外部命令!后续的protoc-gen-go.exe和protoc-gen-go-grpc.exe都要保证在这个目录中
解决措施:go env查看下GOPATH,将下载好的protoc.exe粘贴到该path的bin目录下
二.安装protoc plugin插件
正确做法:
go get -u github.com/golang/protobuf/protoc-gen-go
我自己安装过程中出现的报错和一些解决措施:

安装protobuf之后,创建proto文件失败
解决措施:

go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest

protoc-gen-go不是内部或外部命令,也不是可运行的程序
解决措施:go get -u github.com/golang/protobuf/protoc-gen-go

$ protoc --go_out=. *.proto
protoc-gen-go: unable to determine Go import path for "xxx.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-gen-go​​版本降至v1.3.2及以下解决:
go get -u github.com/golang/protobuf/protoc-gen-go@v1.3.2

三.运行指令
正确做法:

protoc --go_out=../service .\search.proto

go_out是指你的文件输出目录

我自己安装过程中出现的报错:
使用的命令是 protoc --go_out=plugins=grpc:. *.proto

protoc-gen-go: unable to determine Go import path for "search.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.

如果解决不了,还可以在search.proto中加入:

option go_package=“…/service”;

中间出现了很多的问题,有些问题可能大家遇不到,以上是个人安装过程中的报错及解决方案仅供参考

运行proto文件踩坑历程相关推荐

  1. 使用exe4j+inno setup打包exe文件踩坑记录

    一.前言 最近用Java给朋友写了一个截图工具和将所有图片生成pdf工具,但是由于朋友不是计算机行业的人员,如果为了使用java常见的运行方式运行工具,则还需要在电脑上安装jdk与jre,着实不方便. ...

  2. 我的物联网开发入门和踩坑历程

    我的M5Stack物联网开发入门和踩坑历程:基于M5STACK和ONENET 开发准备 M5STACK简介 环境配置 UIflow环境 ESP-IDF环境 方法一 方法二(更推荐) 感知模块 网络连接 ...

  3. oracle vm 加载ova,vmware导入ova文件踩坑记小结

    问题来源 众所周知,所有的网络行为都会产生相应的网络流量,那么所有的网络攻击行为也有其对应的流量特点,那么是否能根据流量特点进而分析出其对应的是什么攻击行为呢? 我在虚拟机上使用vulnhub的靶场环 ...

  4. iOS开发之Unity游戏在iOS平台运行调研(踩坑)

    需求 在现有App上运行自研的Unity游戏 注:此需求可能会由于一些原因而弃掉 方案 方案一.导出WebGL运行在WKWebView上(方案不适用) 结论: 不建议采用:不建议深挖 移动端网页仅适用 ...

  5. 乾坤主应用Vue2 集成子应用Vue3艰苦踩坑历程

    知识准备 乾坤是什么?前端微应用有哪些优势? qiankun 是一个基于 single-spa 的微前端实现库,旨在帮助大家能更简单.无痛的构建一个生产可用微前端架构系统. 微前端架构具备以下几个核心 ...

  6. 【blog】小白博客搭建和踩坑历程 hexo+butterfly

    我的博客 初始化 踩坑流程(hexo搭建+git+butterfly) 搭建流程 Hexo-零基础搭建个人博客(详解)_〆清峰ㄟ的博客-CSDN博客_hexo 换主题的bug Hexo启动页面显示ex ...

  7. Jupyter 运行py文件 踩过的坑和方法

    在Github上下载的代码是.py格式的,需要用Jupyter运行. 搜了一下网上让用%run xx.py 但是这样程序的结果(图片)总是保存不下来,我也不知道为啥 后来在文件夹下开了一个.ipynb ...

  8. Jetson TX1配置与踩坑历程

    最近在实验室弄到了一块英伟达tx1开发板,用来搞双目物品识别.就TX1的配置过程而言,可以说是把可以踩得坑都踩了一遍,本贴子用来记录我的经历,以及一些常见的坑,希望可以帮到大家. 一.刷机前准备工作. ...

  9. Android集成阿里云旺即时通讯踩坑历程

    下载云旺的demo,将demo中的OneSDK直接拷贝,作为Moudle进行依赖,具体操作就不说了,OneSDK是最新的,一定不要进行修改, 进行依赖后,可能会遇到buildToolsVersion ...

最新文章

  1. .net new一个类为什么报空指针_谈谈.NET对象生命周期
  2. OpenCV | OpenCV 图片换底色
  3. 电子科技大学技术交流报道
  4. MATLAB中K-means函数表达方式
  5. 如何关闭SAP Fiori的病毒扫描设
  6. 聚类(Clustering):hierarchical clustering 层次聚类及其应用
  7. linux调用函数和case,Shell篇(3)-单双引号 ,函数及case语句用法
  8. 备受期待!机器学习“蜥蜴书”最新版来了!豆瓣评分9.9!
  9. A child container failed during start 解决方案
  10. 动态绘制柱状图饼状图
  11. python读取文件夹下所有图像_Python 读取指定文件夹下的所有图像方法
  12. ajax 解析gzip,javascript – 如何让浏览器gunzip一个Ajax获取gziped文本文件?
  13. 强大的发包工具fine packet builder
  14. avast android高级版,排名第一 Android杀毒软件avast!评测
  15. jQueryWEUI使用picker实现二级联动
  16. 自动刷新网页代码(可多个网页)
  17. 【Python怎么批量修改文件名称】
  18. java 解析unicode,解析Unicode编码和Java char
  19. vue3.0 组件篇 Card
  20. Codeforces1153D-Serval and Rooted Tree(树形dp)

热门文章

  1. PAT练习总结篇(团队程序设计天体赛)
  2. Windows 在cmd 如何进入指定目录
  3. 2020.05.24期回顾:何谓判断时距?如何如何启动和扩大 Marketplace?
  4. 量化交易之回测篇 - 海龟交易策略(初版)
  5. LTDZ_35-4400M 频谱仪使用
  6. 谷歌浏览器,360浏览器,360极速浏览器等浏览器快捷键
  7. android 添加新语言之缅甸语
  8. 计算机编程类视频学习参考网站
  9. CISP-PTE真题演示
  10. Go 语言中使用 bufio.NewReader 等函数实现快读