使用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)

最后放两张效果图:




感觉还可以得点赞收藏哦。想要源码的私信我获取源码。