在 Windows 系統上配置 [go-zero](https://go-zero.dev) 開發環境教程

💻 在 Windows 系統上配置 go-zero 開發環境教程

本教程將詳細介紹如何在 Windows 系統上配置 go-zero 微服務框架的開發環境,包括依賴安裝、路徑配置、常見問題等。


🧱 一、前置環境安裝

1. 安裝 Go

  • 下載地址:https://go.dev/dl/
  • 安裝時可自定義路徑(如:D:\Go
  • 安裝完成后,驗證是否成功:
go version

輸出示例:

go version go1.21.3 windows/amd64

? 建議使用 Go 1.18 及以上版本


2. 安裝 Git

  • 下載地址:https://git-scm.com/downloads
  • 安裝位置可自定義
  • 安裝后驗證:
git --version

3. 安裝 Protocol Buffers(protoc

go-zero 使用 Protobuf 定義 RPC 服務,需安裝 protoc 編譯器:

推薦方式:下載預編譯版本
  • 下載地址:https://github.com/protocolbuffers/protobuf/releases
  • 選擇適合的版本,如:protoc-21.12-win64.zip
  • 解壓后,將 bin 目錄加入系統環境變量 PATH

驗證安裝:

protoc --version

?? 二、配置開發環境(遷移到 D 盤,避免占用 C 盤)

默認情況下,Go 會將依賴和工具安裝到 C:\Users\<用戶名>\go。我們建議將其遷移到 D 盤,提升可維護性和節省空間。


1. 配置環境變量(系統設置)

建議將 Go 安裝到 D 盤,并設置如下變量:

變量名示例路徑
GOROOTD:\Go
GOPATHD:\GoWorkspace
GOBIND:\GoWorkspace\bin

然后將以下路徑加入系統環境變量 PATH

D:\Go\bin
D:\GoWorkspace\bin

2. 手動創建工作目錄結構

在 D 盤創建以下目錄(如不存在):

D:\GoWorkspace\src
D:\GoWorkspace\bin
D:\GoWorkspace\pkg

3. 配置 Go 環境參數

在終端中執行以下命令:

go env -w GOROOT=D:\Go
go env -w GOPATH=D:\GoWorkspace
go env -w GOBIN=D:\GoWorkspace\bin
go env -w GOPROXY=https://goproxy.cn,direct

查看當前配置:

go env

輸出示例:

GOROOT="D:\Go"
GOPATH="D:\GoWorkspace"
GOBIN="D:\GoWorkspace\bin"

📦 三、安裝 go-zero 與 goctl 工具

1. 初始化項目并自動拉取 go-zero

go mod init your_project
go get github.com/zeromicro/go-zero

2. 安裝 goctl(go-zero 的代碼生成工具)

推薦使用 go install 方式(Go 1.17+ 必須指定版本):

go install github.com/zeromicro/go-zero/tools/goctl@latest

確保 $GOBIN(如:D:\GoWorkspace\bin)已加入環境變量 PATH,然后驗證安裝:

goctl --version

🚀 四、快速創建 go-zero 項目

創建 REST 項目

goctl api new demo
cd demo
go mod tidy
go run demo.go

生成結構:

.
├── demo.api
├── etc
│   └── demo.yaml
├── internal
│   ├── config
│   ├── handler
│   ├── logic
│   ├── svc
│   └── types
└── demo.go

創建 RPC 項目

goctl rpc new greet
cd greet
go mod tidy

🧩 五、常見問題排查

問題解決方案說明
goctl 命令找不到檢查 $GOBIN 是否已加入系統環境變量 PATH
protoc 報錯或未識別檢查是否正確安裝并將 protoc.exe 所在的 bin 路徑加入了 PATH 環境變量
中文或空格路徑導致構建失敗避免在項目路徑中使用中文、空格或特殊字符
推薦 IDE推薦使用 GoLand 或 VSCode + Go 插件

🛠 六、附加技巧與推薦配置

1. goctl 插件模板升級與環境檢查

goctl upgrade -u
goctl env check

2. 使用 goctl 生成 handler 和 logic

goctl api go -api demo.api -dir .

會自動生成路由、業務邏輯和服務定義,極大提升開發效率。


? 項目目錄建議

推薦將項目統一放在:

D:\GoWorkspace\src\

或者使用 Go Modules,可將項目放在任意路徑下(如 D:\Projects\xxx),示例:

mkdir D:\Projects\demo
cd D:\Projects\demo
go mod init demo

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

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

相關文章

開源=白嫖?

國內有一個非常濃重的思想&#xff0c;開源&#xff0c;開源就是免費&#xff0c;就是白嫖&#xff0c;就是不花錢&#xff0c;白給。那么什么是開源&#xff1f;“源代碼”是軟件中大多數計算機用戶從未見過的部分;它是計算機程序員可以操縱的代碼&#xff0c;以改變一個軟件(…

2048-控制臺版本

2048控制臺版 文章目錄2048控制臺版實現效果&#xff1a;在這里插入圖片描述庫函數使用&#xff1a;初始化變量功能函數實現&#xff1a;狀態判斷函數int Judge&#xff08;&#xff09;&#xff1b;數字生成函數 bool CtreateNumber&#xff08;&#xff09;打印游戲界面 void…

提取出Wallpaper Engine壁紙的mpkg類靜態壁紙

github 地址 https://github.com/notscuffed/repkg先下載軟件2853…26目錄這樣獲取有的直接mp4格式&#xff0c;就不能用這方法準備好后 cmd 進入repkg目錄 執行 repkg extract ./294...333/scene.pkg

AI健康小屋“15分鐘服務圈”:如何重構社區健康生態?

AI健康小屋作為“15分鐘服務圈”的核心載體&#xff0c;通過技術賦能與場景重構&#xff0c;正推動社區健康生態從被動治療向主動預防、從單一服務向全周期管理轉型。那我們應該如何重構社區健康生態呢&#xff1f;服務模式創新1.全時段覆蓋AI健康小屋通過分時段服務滿足不同群…

[netty5: WebSocketFrame]-源碼分析

WebSocketFrame WebSocketFrame 是 Netty 中用于表示 WebSocket 消息幀的抽象基類&#xff0c;封裝了幀的內容、分片標志和擴展位信息&#xff0c;供各類具體幀&#xff08;如文本、二進制、控制幀&#xff09;繼承使用。 public abstract class WebSocketFrame extends Buffer…

【加解密與C】非對稱加解密(三)ECC橢圓曲線

ECC橢圓曲線的基本概念橢圓曲線密碼學&#xff08;Elliptic Curve Cryptography&#xff0c;ECC&#xff09;是一種基于橢圓曲線數學的公鑰密碼體制。與傳統的RSA相比&#xff0c;ECC在相同安全級別下使用更短的密鑰&#xff0c;計算效率更高&#xff0c;適用于資源受限的環境。…

力扣網編程150題:加油站(貪心解法)

一. 簡介 前面一篇文章使用暴力解法來解決力扣網150 題目&#xff1a;加油站。文章如下&#xff1a; 力扣網編程150題&#xff1a;加油站&#xff08;暴力解法&#xff09;-CSDN博客 暴力解法就是遍歷了所有元素作為起始點的可能&#xff0c;算法時間復雜度為 O(n*n)&#x…

windwos 設置redis長久密碼不生效

1、設置長久密碼redis.windows.conf 文件修改對應的設置密碼2、啟動時設置對應的加載配置文件

物聯網(IoT)領域存在多種協議

物聯網&#xff08;IoT&#xff09;領域存在多種協議&#xff0c;主要是因為不同的應用場景對通信的需求差異很大&#xff0c;包括實時性、帶寬、功耗、設備兼容性、安全性等。以下從協議多樣性的原因和你提到的具體協議&#xff08;如 dc3-driver-* 模塊&#xff09;展開說明&…

二、encoders

文章目錄一、batch_encoder (用于 BFV)1. 概述2. 數學原理3. 使用方法4. 代碼示例二、ckks_encoder (用于 CKKS)在 1. bfv_basics.cpp 中&#xff0c;我們展示了如何使用BFV方案執行非常簡單的計算。計算是在 plain_modulus 參數的模下執行的&#xff0c;并且 只使用了 BFV 明文…

數據一致性解決方案總結

數據一致性解決方案總結 我們在系統中&#xff0c;主要進行了數據冗余&#xff0c;那么就會帶來數據一致性的問題。常見的數據一致性問題有&#xff1a;數據庫主從同步延遲導致的讀數據不一致&#xff1b;數據庫主主之間數據的不一致&#xff1b;緩存和數據庫之間的數據不一致。…

17.Spring Boot的Bean詳解(新手版)

文章目錄1. 什么是Bean&#xff1f;從零開始理解1.1 Bean的定義1.2 為什么需要Bean&#xff1f;1.3 Bean vs 普通對象的區別2. Spring容器&#xff1a;Bean的家2.1 什么是Spring容器&#xff1f;2.2 容器的工作流程3. Bean的聲明方式詳解3.1 使用Component及其專門化注解3.1.1 …

cherryStudio electron因為環境問題無法安裝解決方法或打包失敗解決方法

$env:ELECTRON_MIRROR"https://npmmirror.com/mirrors/electron/"; $env:ELECTRON_CUSTOM_DIR"{{ version }}"; yarn install1. 上面是關于electron安裝失敗的解決方法. 也可以通過到git上下面包,解壓后,放到對應的目錄下面,并把里面的build文件夾刪除, b…

微服務架構中數據一致性保證機制深度解析

在微服務架構中&#xff0c;數據一致性是分布式系統設計的核心挑戰。由于服務拆分后數據自治&#xff08;每個服務獨立數據庫&#xff09;&#xff0c;跨服務操作的一致性保障需突破傳統單體事務的局限。本文從一致性模型、核心解決方案、技術實現及面試高頻問題四個維度&#…

【Gin】HTTP 請求調試器

文章目錄 項目概述代碼功能詳解1. 導入必要的包2. 主函數和路由設置3. 請求信息捕獲4. 請求參數和頭信息5. 請求體處理5.1 JSON 數據處理5.2 表單數據處理5.3 Multipart 表單數據處理5.4 其他類型數據處理6. 構造響應對象7. 返回 JSON 響應功能特點使用場景完整代碼項目概述 這…

物聯網(IoT)領域的協議

物聯網&#xff08;IoT&#xff09;領域的通信協議種類繁多&#xff0c;不同協議適用于不同的應用場景&#xff08;如低功耗設備、工業自動化、家庭智能設備等&#xff09;。以下是主要物聯網協議的分類及詳細解釋&#xff1a;一、物聯網協議分類物聯網協議通常分為兩大類&…

專題一_雙指針_四數之和

一&#xff1a;題目解析 題目鏈接&#xff1a;18. 四數之和 - 力扣&#xff08;LeetCode&#xff09; 注&#xff1a;本題是在上題的基礎上講解的&#xff1a;專題一_雙指針_三數之和-CSDN博客 解析&#xff1a;和三數之區別在于找四元組和為targe的數字 而不是0 二&#xff1a…

Spring Boot多數據源配置詳解

Spring Boot多數據源配置詳解 在實際企業開發中&#xff0c;隨著業務復雜度提升&#xff0c;單一數據源已無法滿足所有場景需求。比如&#xff1a;讀寫分離、分庫分表、數據遷移、微服務整合等&#xff0c;這時就需要用到多數據源配置。本文將從原理、配置、常見問題和最佳實踐…

項目進度嚴重依賴關鍵人,如何分散風險

項目進度嚴重依賴關鍵人的風險&#xff0c;可以通過建立知識共享機制、強化團隊協作模式、實施交叉培訓和培養后備人才、優化流程標準化等措施有效分散。其中&#xff0c;實施交叉培訓和培養后備人才尤為重要&#xff0c;通過培養多個成員具備相似的關鍵技能&#xff0c;能夠迅…

【RK3568+PG2L50H開發板實驗例程】FPGA部分 | 以太網傳輸實驗例程

本原創文章由深圳市小眼睛科技有限公司創作&#xff0c;版權歸本公司所有&#xff0c;如需轉載&#xff0c;需授權并注明出處&#xff08;www.meyesemi.com)1.實驗簡介實驗目的&#xff1a;完成 DDR3 的讀寫測試。實驗環境&#xff1a;Window11 PDS2022.2-SP6.4芯片型號&#x…