Windows环境运行Hertz v0.5.0 踩坑笔记 | 青训营笔记

198 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天

一、准备环境

  • 操作系统:Windows10
  • golang版本:1.19.5 win/amd64
  • IDE:Goland 2022.3.1

需要注意:Windows环境中如果修改过GOPATH变量,要记得修改PATH路径下的bin目录的路径,否则两者可能存在不一致的问题。

二、安装Hertz

执行如下命令即可,安装版本为Hertz v0.5.0

go install github.com/cloudwego/hertz/cmd/hz@latest

安装好之后,可以试一下能不能用hz命令。

三、创建项目路径

这里我尝试按照文档要求,按照github的路径创建项目目录,如下所示。

  $ mkdir -p $(go env GOPATH)/src/github.com/cloudwego
  $ cd $(go env GOPATH)/src/github.com/cloudwego

但实际上不需要,而且这样会导致hz生成代码出错。只要保证在%GOPATH%/src/目录下创建即可,比如说就%GOPATH%/src/hertz_demo就行,也就是如下即可:

mkdir -p $(go env GOPATH)/src/hertz_demo

创建好之后,在项目的目录下运行“hz new”,如果没有报错,且生成了main.go和相关的代码文件,就说明项目初始化完成了。

四、修改hertz库源码避坑

接着尝试go build编译,发现报错,然后也无法运行,如下图所示:

oat7hDmvyv.jpg

这主要是因为,hertz的v0.5.0版本对windows系统的支持有bug,可以等下一个小版本修复bug,如下图issue所示:

img_v2_1f13cd37-f89b-4c81-95ec-4c23ae30145g.jpg 也可以创建一个vendor环境,修改源码,具体修改的位置可见github上hertz的issue:github.com/cloudwego/h…

第一步:创建vendor目录 在项目的路径下,执行如下命令:

go mod vendor
go mod tidy

第二步:找到出错代码的文件 在vendor目录中找一下,如图所示:

img_v2_a8315551-6a4f-4a9e-894c-8cce40b4ce1g.jpg

第三步:修改hertz源码 主要就修改两行代码,如下图所示:

image.png

五、启动Server

修改源码后,go build就不会报错了,启动server也能正确绑定到8888端口,如下图所示。

img_v2_d663047d-3a01-453c-b40f-a84dfaf5758g.jpg