使用GO(golang)构建后台管理系统系列10:掌握mod包管理技巧
发表时间: 2022-04-08 17:43
原项目采用gopath来管理的引用库,但有小伙伴反应说包不好下,虽然我把对应的包做了百度云盘共享,但小伙伴们仍然感觉不太好用。特别是最近把go SDK升级到1.18.在管理包上终于下决心使用mod来重新重构下包管理。
一、配置启用Mod
首先那:
go env
确定是否开启了
GO111MODULE="auto"
如果没有开启请开启它。开启命令执行:
go env -w GO111MODULE=on
#设置 使用七牛云下载
go env -w GOPROXY=https://goproxy.cn,direct
来看下现在的配置:
root@ubuntu:~/myGoProjectNew# go envGO111MODULE="auto"GOARCH="amd64"GOBIN=""GOCACHE="/home/hcy/.cache/go-build"GOENV="/home/hcy/.config/go/env"GOEXE=""GOEXPERIMENT=""GOFLAGS=""GOHOSTARCH="amd64"GOHOSTOS="linux"GOINSECURE=""GOMODCACHE="/root/go/pkg/mod"GONOPROXY=""GONOSUMDB=""GOOS="linux"GOPATH="/root/go"GOPRIVATE=""GOPROXY="https://goproxy.cn,direct"GOROOT="/home/hcy/local/go"GOSUMDB="sum.golang.org"GOTMPDIR=""GOTOOLDIR="/home/hcy/local/go/pkg/tool/linux_amd64"GOVCS=""GOVERSION="go1.18"GCCGO="gccgo"GOAMD64="v1"AR="ar"CC="gcc"CXX="g++"CGO_ENABLED="1"GOMOD="/home/hcy/myGoProjectNew/go.mod"GOWORK=""CGO_CFLAGS="-g -O2"CGO_CPPFLAGS=""CGO_CXXFLAGS="-g -O2"CGO_FFLAGS="-g -O2"CGO_LDFLAGS="-g -O2"PKG_CONFIG="pkg-config"GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3990583068=/tmp/go-build -gno-record-gcc-switches"
二、创建项目
上边都说了如何开启了。下面介绍下如何使用
1. 可以随便找一个目录创建项目:myGoProjectNew
mkdir myGoProjectNewcd myGoProjectNewgo mod init myGoProjectNew
这个时候查看目录下会多出一个go.mod的文件:
里面也有了。标识了下SDK的版本1.18
2. 创建 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() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")}
3. 执行:
go mod tidy
这时候就会自动下载引用了。
查看Go.mod文件
module myGoProjectNew go 1.18 require github.com/gin-gonic/gin v1.7.4 require github.com/go-ini/ini v1.66.4 require ( github.com/astaxie/beego v1.12.3 github.com/dgrijalva/jwt-go v3.2.0+incompatible github.com/gin-contrib/cors v1.3.0 go.mongodb.org/mongo-driver v1.8.4)
最后放两张效果图:
感觉还可以得点赞收藏哦。想要源码的私信我获取源码。