Golang项目安装gin-gonic报错:*Engine类型无AppEngine等字段或方法
故障解决方案
核心原因
该报错由gin包版本冲突、本地mod缓存损坏、旧版本GOPATH源码残留三类问题导致,v1.7.5版本的gin引用的结构体字段在你本地生效的gin源码中不存在,因此编译失败。
分步操作
- 步骤1:检查Go版本要求
执行go version确认本地Go版本≥1.13,若版本过低请先升级Go到稳定正式版。 - 步骤2:开启Go模块支持
执行go env GO111MODULE检查模块开关,若输出为off,执行go env -w GO111MODULE=on开启模块管理。 - 步骤3:清理残留冲突文件
- 清理全局mod缓存:执行
go clean -modcache - 删除GOPATH下旧gin源码:删除
$GOPATH/src/github.com/gin-gonic/gin文件夹(Windows路径为%GOPATH%\src\github.com\gin-gonic\gin) - 进入你的项目根目录,删除已存在的
go.mod、go.sum文件
- 清理全局mod缓存:执行
- 步骤4:重新初始化并安装gin
- 初始化项目模块:
go mod init <你的项目名称> - 拉取最新稳定版gin:
go get github.com/gin-gonic/gin@v1.9.1
- 初始化项目模块:
- 步骤5:验证安装
在项目根目录新建main.go,写入以下测试代码:
执行package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) r.Run(":8080") }go run main.go,访问http://localhost:8080/ping若返回正常JSON即说明安装成功。
内容的提问来源于stack exchange,提问作者Indra
相关产品推荐
相关产品推荐

