windows安裝protoc、protoc-gen-go、protoc-gen-go-grpc

文章目錄

  • 一、 protoc
  • 二、protoc-gen-go
  • 三、protoc-gen-go-grpc

一、 protoc

1,下載:https://github.com/google/protobuf/releases

下載對應的protoc,注意選擇windows

2,下好之后解壓就行,然后把bin目錄加入到環境變量即可

二、protoc-gen-go

網上很多資料說

go get -u github.com/golang/protobuf/protoc-gen-go@latest

但目前該模塊已被棄用,繼續使用該命令將出現錯誤,提示該庫已經被棄用,讓我們使用go get -u google.golang.org/protobuf/
在這里插入圖片描述
當我們按新的方式go get -u google.golang.org/protobuf/后,編寫好proto文件,然后執行protoc命令,又會出現如下錯誤
在這里插入圖片描述

因此我們需要安裝protoc-gen-go.exe可執行文件,當protoc命令執行時,當編譯器調用時傳遞了 --go_out命令行標志時, protoc就會使用它。

  1. 下載:
git clone https://github.com/protocolbuffers/protobuf-go
  1. GoLand打開,到達.\cmd\protoc-gen-go\目錄,執行go install .,如下
    在這里插入圖片描述
  2. 此時,我們就可以在gopath路徑下發現,產生了一個protoc-gen-go.exe文件,(ps:gopath路徑可以通過go env命令查看)
    在這里插入圖片描述
  3. 這時候再執行protoc命令,就能正常生成pb.go文件了
    在這里插入圖片描述
    注意:test包是自動幫我們生成的,因為我們使用option go_package = "/test";指定生成的go代碼的包名
    在這里插入圖片描述

三、protoc-gen-go-grpc

protoc-gen-go-grpc 與 protoc-gen-go的安裝步驟幾乎一模一樣,就是GitHub庫不一樣而已,因此就簡要描述一下啦

git clone -b v1.30.0 https://github.com/grpc/grpc-go  #克隆項目
cd cmd/protoc-gen-go-grpc   #用GoLand打開后,進入到指定目錄
go install .

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209552.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209552.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209552.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【異常】淺析異常體系及為什么一定會執行finally塊代碼

異常體系: (1)所有異常(Exception)、錯誤(Error)都繼承自異常中的基類:Throwable。而異常又可以分為檢查異常(Checked Exception)、非檢查異常(Un…

msvcp100.dll丟失的常見原因/msvcp100.dll丟失的解決方法分享

在計算機使用過程中,我們經常會遇到一些錯誤提示,其中之一就是“msvcp100.dll丟失”。這個錯誤提示通常出現在運行某些程序或游戲時,給使用者帶來了很大的困擾。那么,究竟是什么原因導致了msvcp100.dll文件的丟失呢?本…

ubuntu22.04在opencv4的基礎上安裝opencv3

安裝opencv4 首先在ubuntu22.04上安裝opencv4,可以參考之前的博客ubuntu22.04安裝opencv4和opencv_contrib-CSDN博客 安裝opencv3 由于有使用opencv3的需求,所以需要繼續安裝opencv3 ; 安裝編譯 這里安裝的版本是opencv3.4.5,大致安裝思…

STM32F1之CAN介紹

目錄 ?編輯 1. CAN 是什么? 2. 總線拓撲圖 3. CAN 的特點 4. CAN 協議的基本概念 1. CAN 是什么? CAN 是 Controller Area Network 的縮寫(以下稱為 CAN),是 ISO*1 國際標準化的串行通信協議。 在當前的汽車產…

javaWebssh學生系統myeclipse開發mysql數據庫MVC模式java編程計算機網頁設計

一、源碼特點 java ssh學生管理系統是一套完善的web設計系統(系統采用ssh框架進行設計開發),對理解JSP java編程開發語言有幫助,系統具有完整的源代碼和數據庫,系統主要采用B/S模 式開發。開發環境為TOMCAT7.0,My…

前端開發中,Web Storage的存儲數據的方法localstorage和sessionStorage的使用及區別

在 Web瀏覽器中存儲數據以改善用戶體驗和提升Web應用程序性能是非常常見的。在大多數情況下,可供我們使用就是LocalStorage和SessionStorage。 本文中,我們將會從安全性和用戶體驗兩個方面對SessionStorage和LocalStorage進行評估。然后我們將討論如何根…

Linux驅動安裝遇到的問題(Kernel configuration is invalid)(Invalid module format)

Linux驅動編譯安裝遇到的問題(Kernel configuration is invalid)(Invalid module format) 前言1. Kernel configuration is invalid2. Invalid module format2.1 第一種情況:內核模塊編譯的環境與現在insmod想要運行的…

python:mplfinance 畫K線圖+布林線

pip install mplfinance ; python 安裝使用 TA-lib 安裝主要在 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 這個網站找到 TA_Lib-0.4.24-cp310-cp310-win_amd64.whl pip install /pypi/TA_Lib-0.4.24-cp310-cp310-win_amd64.whl 編寫 mpf_kline_boll.py 如下 # -*- cod…

英語口語練習(背誦老友記)

There is nothing to tell! 這沒什么好說的! Hes just some guy I work with. 他不過是我的同事。 Cmon, youre going out with the guy! 少來了,你們都在約會了! Theres gotta be something wrong with him! 這個男人一定有什么問題&…

華為OD機試真題-快遞員的煩惱-2023年OD統一考試(C卷)

題目描述: 快遞公司每日早晨,給每位快遞員推送需要送到客戶手中的快遞以及路線信息,快遞員自己又查找了一些客戶與客戶之間的路線距離信息,請你依據這些信息,給快遞員設計一條最短路徑,告訴他最短路徑的距離。 注意: 1. 不限制快遞包裹送到客戶手中的順序,但必須保證都…

【VRTK】【VR開發】【Unity】12-占位身體

課程配套學習資源下載 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【概要】 目前你會發現,就算存在非Trigger Collider的墻壁屏障等,也能夠正常穿過,這會導致不沉浸的體驗。你需要一個占位身體來實現讓墻壁等碰撞并擋住自己…

基于java的貪吃蛇小游戲

貪吃蛇游戲需要做兩點:圖形界面和游戲邏輯。在 Java 中,可以使用 Swing 或 JavaFX 來創建圖形界面。下面代碼創建了一個簡單的 Swing 窗口,實現了一個基本的貪吃蛇游戲。在游戲中,使用方向鍵控制貪吃蛇的移動,吃到食物…

`Numpy`數組中 數據的修改(第10講)

Numpy數組中 數據的修改(第10講) ??????? ??博主 侯小啾 感謝您的支持與信賴。?? ????????????????????????????????????????????????????????????????????????????????????…

YOLOv5獨家原創改進:SPPF自研創新 | 可變形大核注意力(D-LKA Attention),大卷積核提升不同特征感受野的注意力機制

??????本文自研創新改進: 可變形大核注意力(D-LKA Attention)高效結合SPPF進行二次創新,大卷積核提升不同特征感受野的注意力機制。 收錄 YOLOv5原創自研 https://blog.csdn.net/m0_63774211/category_12511931.html ??????全網獨家首發創新(原創),適合p…

Python學習路線 - Python語言基礎入門 - 函數使用

Python學習路線 - Python語言基礎入門 - 函數使用 函數介紹函數函數的快速體驗 函數的定義函數的定義 函數的參數函數的傳入參數函數的傳入參數 - 傳參定義函數的傳入參數 - 語法解析練習案例:升級版自動查詢核酸 函數的返回值函數返回值的定義返回值的語法None類型…

Python----異常

1、什么是異常 當檢測到一個錯誤時,解釋器就無法繼續執行了,反而出現了一些錯誤的提示,這就是所謂的"異常"。 2、異常演示 # 運算符 # print(10/0) # 文件異常 f open(python.txt, r) content f.readlines() print(content) 3…

vue中el-upload結合vuedraggable實現圖片的上傳、排序、刪除以及預覽等功能

實現效果&#xff1a; 功能實現&#xff1a; 要實現圖片的拖拽功能首先需要安裝vuedraggable庫 npm install vuedraggable --save在組件中引入并注冊 vuedraggable <script>import draggable from "vuedraggable";export default {// 注冊組件components: {…

SI24R03 高度集成低功耗SOC 2.4G 收發一體芯片

今天給大家介紹一款Soc 2.4G 收發一體模塊-SI24R03 Si24R03是一款高度集成的低功耗無線SOC芯片&#xff0c;芯片為QFN32 5x5mm封裝&#xff0c;集成了資源豐富的MCU內核與2.4G收發器模塊&#xff0c;最低功耗可達1.6uA&#xff0c;極少外圍器件&#xff0c;大幅降低系統應用成本…

詳解Android單元測試最佳實踐

目的 充分的單元測試就是提高代碼質量最有效的手段之一&#xff0c;而單元測試嚴重依賴代碼的可測試性&#xff0c;本文主要通過一個簡單的DEMO演示如何對Android原生應用進行單元測試&#xff0c;同時示例代碼采用MVP模式以提高代碼的可讀性和可測試性 簡介 在Android原生應…

mmdetection測試保存到新的文件夾,無需標簽

這個是用demo這個代碼測試的&#xff0c;需要先訓練一個pth文件夾&#xff0c;訓練之后再調用pth文件夾進行測試。測試的代碼文件名是&#xff1a;image_demo_new.py&#xff0c;代碼如系所示&#xff1a; # Copyright (c) OpenMMLab. All rights reserved. import asyncio fr…