go-zero环境搭建
- 📊 前言
- WSL环境准备
- go环境安装
- 下载 Go 1.26.5
- 解压到用户目录
- 添加到 PATH
- 验证安装
- goctl安装
- 安装protoc
- 步骤1:
- 安装 Go 插件:
- 一键检查并补全(推荐)
- 验证
- 创建项目
- 生成流程
- 举例
- 出现的问题
- 工具介绍
- 热加载配置
- 总结:
关键词:go-zero, WSL, Go 语言, 微服务框架, 环境搭建
📊 前言
以下是go-zero环境搭建的整体流程图,展示了从WSL准备到项目创建的完整步骤:
实验环境: win11 + WSL
WSL环境准备
go环境安装
请在你的 WSL 终端中手动执行以下命令:
下载 Go 1.26.5
curl -L https://go.dev/dl/go1.26.5.linux-amd64.tar.gz -o /tmp/go1.26.5.linux-amd64.tar.gz
解压到用户目录
rm -rf ~/gotar -C ~ -xzf /tmp/go1.26.5.linux-amd64.tar.gz
添加到 PATH
echo 'export PATH=$HOME/go/bin:$PATH' >> ~/.bashrcsource ~/.bashrc
验证安装
go version
goctl安装
在WSL中,执行:
go install github.com/zeromicro/go-zero/tools/goctl@latest
export PATH=$PATH:$HOME/go/bin
查看效果:
root@DESKTOP-TKVSD8M:~# goctl --version
goctl version 1.10.1 linux/amd64
安装protoc
步骤1:
PB_VERSION=25.1curl-LOhttps://github.com/protocolbuffers/protobuf/releases/download/v${PB_VERSION}/protoc-${PB_VERSION}-linux-x86_64.zipunzipprotoc-${PB_VERSION}-linux-x86_64.zip-d$HOME/.localexportPATH="$PATH:$HOME/.local/bin"source~/.bashrc安装 Go 插件:
goinstallgoogle.golang.org/protobuf/cmd/protoc-gen-go@latest goinstallgoogle.golang.org/grpc/cmd/protoc-gen-go-grpc@latest一键检查并补全(推荐)
goctl env check --install --verbose --force
安装成功,但是有个警告,意思是 gopath应该不和go在一个目录。可以执行下面的命令区分开GOROOT(/go)和GOPATH(/gopath)了。
mkdir-p~/gopathecho'export GOPATH=$HOME/gopath'>>~/.bashrcecho'export PATH=$PATH:$GOPATH/bin'>>~/.bashrcsource~/.bashrc执行后验证:
goenvGOPATH出现下图代表成功:
~/gopath 刚创建时是空的。
GOPATH 是 Go 的工作空间,Go 会在需要时自动创建以下子目录:
~/gopath/
├── bin/ # 编译后的可执行文件(如 go install 安装的工具)
├── pkg/ # 编译后的包文件(缓存)
└── src/ # 你的 Go 项目源代码
你不需要手动创建这些目录,Go 会在使用时自动生成。
验证
root@DESKTOP-TKVSD8M:~/go-zero-learn/myservice# protoc --version
libprotoc 25.1
root@DESKTOP-TKVSD8M:~/go-zero-learn/myservice# protoc-gen-go --version
protoc-gen-go v1.36.11
创建项目
生成流程
定义接口: 编写 .api 或 .proto 文件
生成骨架代码:
API 服务:
goctl api go -api hello.api -dir .RPC 服务:
goctl rpc protoc user.proto --go_out=. --go-grpc_out=. --zrpc_out=.填充逻辑:
在 internal/logic/ 中实现业务代码
举例
goctl api new myservice
cd myservice && go mod tidy
goctl rpc new myservice
cd myservice && go mod tidy
出现的问题
go mod tidy报错解决方案:
root@DESKTOP-TKVSD8M:~/go-zero-learn/myservice#
● 网络仍然超时。尝试多个代理作为备选:
go env -w GOPROXY=https://goproxy.io,https://goproxy.cn,https://mirrors.aliyun.com/goproxy/,direct
go env -w GOSUMDB=off
然后重试:
go mod tidy
工具介绍
热加载配置
安装命令
goinstall github.com/air-verse/air@latest验证安装:
root@DESKTOP-TKVSD8M:~/go-zero-learn/go-rpc-demo/grpc-client#
air -v/ /\ | | | |)
//–\ || || _ v1.65.1, built with Go go1.26.5
在目标项目中直接输入:air
效果:
这里也不用输入: go run 命令了,air就等于热启动了。
🔄 热加载工作流程
air工具实现了代码修改后的自动重载,下图展示了其工作流程:
总结:
- 本文详细介绍了在 Windows 11 的 WSL 环境中搭建 go-zero 微服务框架开发环境的完整流程。
- 从 WSL 环境准备开始,逐步讲解 Go 语言环境安装、goctl 命令行工具配置、protoc 编译器及其 Go 插件安装,
- 到使用 goctl 创建 API 和 RPC 项目,并提供了常见网络问题的解决方案。
- 最后还介绍了 air 热加载工具的安装与使用,帮助开发者实现代码修改后的实时重载。
通过本文的步骤,读者可以快速搭建起完整的 go-zero 开发环境,为后续微服务开发打下坚实基础。
本文完