【web3基础】go-zero环境搭建(一)

发布时间:2026/7/19 8:55:15
【web3基础】go-zero环境搭建(一) go-zero环境搭建 前言WSL环境准备go环境安装下载 Go 1.26.5解压到用户目录添加到 PATH验证安装goctl安装安装protoc步骤1:安装 Go 插件:一键检查并补全推荐验证创建项目生成流程举例出现的问题工具介绍热加载配置总结:关键词go-zero, WSL, Go 语言, 微服务框架, 环境搭建 前言以下是go-zero环境搭建的整体流程图展示了从WSL准备到项目创建的完整步骤实验环境: win11 WSLWSL环境准备go环境安装请在你的 WSL 终端中手动执行以下命令下载 Go 1.26.5curl -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添加到 PATHecho export PATH$HOME/go/bin:$PATH ~/.bashrcsource ~/.bashrc验证安装go versiongoctl安装在WSL中执行:go install github.com/zeromicro/go-zero/tools/goctllatestexport PATH$PATH:$HOME/go/bin查看效果:rootDESKTOP-TKVSD8M:~# goctl --versiongoctl version 1.10.1 linux/amd64安装protoc步骤1:PB_VERSION25.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/binsource~/.bashrc安装 Go 插件:goinstallgoogle.golang.org/protobuf/cmd/protoc-gen-golatest goinstallgoogle.golang.org/grpc/cmd/protoc-gen-go-grpclatest一键检查并补全推荐goctl env check --install --verbose --force安装成功但是有个警告意思是 gopath应该不和go在一个目录。可以执行下面的命令区分开GOROOT(/go)和GOPATH(/gopath)了。mkdir-p~/gopathechoexport GOPATH$HOME/gopath~/.bashrcechoexport PATH$PATH:$GOPATH/bin~/.bashrcsource~/.bashrc执行后验证goenvGOPATH出现下图代表成功:~/gopath 刚创建时是空的。GOPATH 是 Go 的工作空间Go 会在需要时自动创建以下子目录~/gopath/├── bin/ # 编译后的可执行文件如 go install 安装的工具├── pkg/ # 编译后的包文件缓存└── src/ # 你的 Go 项目源代码你不需要手动创建这些目录Go 会在使用时自动生成。验证rootDESKTOP-TKVSD8M:~/go-zero-learn/myservice# protoc --versionlibprotoc 25.1rootDESKTOP-TKVSD8M:~/go-zero-learn/myservice# protoc-gen-go --versionprotoc-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 myservicecd myservice go mod tidygoctl rpc new myservicecd myservice go mod tidy出现的问题go mod tidy报错解决方案:rootDESKTOP-TKVSD8M:~/go-zero-learn/myservice#● 网络仍然超时。尝试多个代理作为备选go env -w GOPROXYhttps://goproxy.io,https://goproxy.cn,https://mirrors.aliyun.com/goproxy/,directgo env -w GOSUMDBoff然后重试go mod tidy工具介绍热加载配置安装命令goinstall github.com/air-verse/airlatest验证安装:rootDESKTOP-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工具实现了代码修改后的自动重载下图展示了其工作流程服务器进程Go编译器air工具开发者服务器进程Go编译器air工具开发者alt[编译成功][编译失败]loop[持续监控]开发过程中无需手动重启在项目目录执行 air监控文件变化(.go, .toml等)检测到文件修改触发Go重新编译编译项目代码返回编译结果停止旧进程启动新进程显示重启成功信息显示错误信息继续监控文件总结:本文详细介绍了在 Windows 11 的 WSL 环境中搭建 go-zero 微服务框架开发环境的完整流程。从 WSL 环境准备开始逐步讲解 Go 语言环境安装、goctl 命令行工具配置、protoc 编译器及其 Go 插件安装到使用 goctl 创建 API 和 RPC 项目并提供了常见网络问题的解决方案。最后还介绍了 air 热加载工具的安装与使用帮助开发者实现代码修改后的实时重载。通过本文的步骤读者可以快速搭建起完整的 go-zero 开发环境为后续微服务开发打下坚实基础。本文完