【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero
大家好 我是寸铁👊
总结了一篇Windows11安装go-zero代码生成工具goctl的文章✨
喜欢的小伙伴可以点点关注 💝
goctl介绍
背景:goctl 的最早功能是为了解决 GRPC 内网调试问题,大约是在 2019 年,在我们的生产环境中,rpc 是内网隔离的,不可通过外网访问,为了快速去 mock 一些线上 RPC client 的请求,就简单的实现了第一版本的代码生成,主要目的是去访问 RPC Server 做一些调试。
goctl
是 go-zero
的内置脚手架,是提升开发效率的一大利器,可以一键生成代码、文档、部署 k8s
yaml
、dockerfile
等。
goctl作用
- 降低沟通成本
沟通,是团队协作进行信息交换的一种形式,沟通的方式有很多种,会议沟通、文档沟通、聊天交流,相信不管是哪种方式,沟通都是团队中最难的一个环节,会议沟通需要占用大量时间,动则半小时起步,文档沟通同样,也会占据大量时间去构思和编写大篇幅的文档,最后可能还没表达出预期目标,线上聊天,需要双方都在线上才能进行信息交换,当然我们这里沟通交换的信息更多是指开发中的一些内容,如接口信息、部署信息等。
- 降低团队耦合
有了沟通,那么团队之间的协作的耦合是避免不了的,例如:在前后端开发中,最大的耦合是接口的耦合,前端完成了规定 UI 绘制后,需要等待后端的接口部署到对应环境才能实现功能的调试,在此期间,前端的团队资源就会大大浪费,由此还会导致项目的延期等问题。
- 提高开发效率
除了沟通成本和团队耦合以外,每个团队在进行项目开发时也有很多时间是在做重复的工作,例如:我们在开发一个新的功能时,需要去定义接口,编写接口文档,编码准备工作,业务开发,model
文件,编写 Dockerfile
文件,编写 k8s yaml
文件,在这些上面我们可以在每个环节上都有提升的空间,让用户将真正的时间集中在业务开发上。
- 降低错误率
在之前的开发实践中,经常会出现grpc server
实现不完全的问题,grpc server
实现类经常会出现编译不过的情况;除此之外,数据库查询层代码开发,sql
语句的编写多参,少参,参数错位,在编译过程中很难发现,一般可能到 QA 环节才能发现,更甚者会导致线上问题。
goctl这么强大的开发工具,马上用起来,先把他安装好,怎么快速安装,寸铁手把手带你安装!
goctl安装
Step1
命令行下查看一下当前的go
版本
Step2
命令行下安装goctl
输入下面命令:
go install github.com/zeromicro/go-zero/tools/goctl@latest
如果出现如下情况:
说明是安装goctl
的代理没有开启,开启一下代理即可。
go env -w GOPROXY=https://goproxy.cn,direct
命令行下输入如下命令:
接着再次输入如下命令:
go install github.com/zeromicro/go-zero/tools/goctl@latest
会出现下面的结果:
代表正常下载成功
Step3
测试一下安装是否成功
在命令行中输入goctl
出现如下的结果,不要慌,寸铁带你解决这个问题!
方法1
- 先把当前的命令行窗口关掉,再打开一个新的命令行窗口。
如果说还是会出现如下的结果,则说明需要配置环境变量
方法2
配置环境变量
先找到对应存放goctl
的文件位置
我这里使用的是Everything
软件去查找对应的位置
步骤1
右键点击打开路径
步骤2
之后就是进入到文件所在的路径位置,双击上方路径框,复制当前的路径即可。
步骤3
- 复制完后开始找到配置环境变量的地方
- 找到系统变量的
Path
- 接着点击新建,把复制的路径
粘贴
到环境变量中,点击确定即可
这一步的作用是让计算机系统可以直接在命令行窗口中寻找到路径,从而执行相关的命令,便于提高开发者的效率,不然每次都需要去安装的位置运行下载的命令。
Step4
接着继续在命令行窗口中输入goctl
显示如下界面,说明环境变量配置完毕!
再查看一下goctl
的版本
至此,goctl
安装完毕!
protoc安装
一键式安装:
只需在命令行窗口中输入如下命令:
goctl env check --install --verbose --force
运行结果如下:
安装完毕后,bin
文件夹下会出现可执行文件如下:
安装go-zero
步骤1
先初始化go mod
初始化命令如下
go mod init <文件夹名字>
结果如下:
步骤2
开启GO111MODULE
和开启依赖代理
步骤3
安装go-zero
命令如下:
go get -u github.com/zeromicro/go-zero@latest
运行结果如下:说明安装成功!
安装成功后,会在go.mod
文件中生成对应的依赖!
至此,goctl、protoc、go-zero
安装完毕!
看到这里的小伙伴,恭喜你又掌握了一个技能👊
希望大家能取得胜利,坚持就是胜利💪
我是寸铁!我们下期再见💕