本文由go语言教程栏目给大家介绍,主题是关于Gin 安装遇到的坑,希望对需要的朋友有所帮助!
Gin 初始安装
1、安装网官的文档执行go get -u github.com/gin-gonic/gin
因不能翻墙,百度了说 用gopm 解决,群里的小伙伴说这种试早就过时了,现在都是用go mod 来解决
于是 开启go mod
go env -w GOBIN=/Users/youdi/go/bin go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct // 使用七牛云的
使用go mod 来 管理一个新的项目
mkdir Gone cd Gone go mod init Gone
查看一下go.mod 文件
module Gone go 1.16
go.mod文件一旦创建后,它的内容将会被go toolchain全面掌控。go toolchain会在各类命令执行时,比如go get、go build、go mod等修改和维护go.mod文件。
go.mod 提供了module, require、replace和exclude 四个命令
module
语句指定包的名字(路径)require
语句指定的依赖项模块replace
语句可以替换依赖项模块exclude
语句可以忽略依赖项模块
package mainimport ( "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() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")}
执行 go run main.go 运行代码会发现 go mod 会自动查找依赖自动下载
结果报错
main.go:3:8: no required module provides package github.com/gin-gonic/gin; to add it: go get github.com/gin-gonic/gin
执行:go mod edit -require github.com/gin-gonic/gin@latest 解决,指定Gin的版本
再次运行 go run main.go 报错
go: github.com/gin-gonic/gin@v1.7.4: missing go.sum entry; to add it: go mod download github.com/gin-gonic/gin
然后执行 go mod tidy 再次执行 go run main.go 终于跑起来了