欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[日常] gocron源码阅读-使用go mod管理依赖源码启动gocron

程序员文章站 2022-05-21 14:50:17
从 Go1.11 开始,golang 官方支持了新的依赖管理工具go modgo mod download: 下载依赖的 module 到本地 cachego mod edit: 编辑 go.modgo mod graph: 打印模块依赖图go mod init: 在当前目录下初始化 go.mod( ......

从 go1.11 开始,golang 官方支持了新的依赖管理工具go mod
go mod download: 下载依赖的 module 到本地 cache
go mod edit: 编辑 go.mod
go mod graph: 打印模块依赖图
go mod init: 在当前目录下初始化 go.mod(就是会新建一个 go.mod 文件)
go mod tidy: 整理依赖关系,会添加丢失的 module,删除不需要的 module
go mod vender: 将依赖复制到 vendor 下
go mod verify: 校验依赖
go mod why: 解释为什么需要依赖

以gocron为例,go get 下载代码后进入代码的目录执行 go mod tidy
会在我的$gopath/pkg/mod/cache/下载依赖的文件

[日常] gocron源码阅读-使用go mod管理依赖源码启动gocron

进入gocron下载的目录src/github.com/ouqiang/gocron/cmd/gocron
执行go run gocron.go ,就可以运行起源码的gocron

[日常] gocron源码阅读-使用go mod管理依赖源码启动gocron

gocron中的go.mod文件内容

module github.com/ouqiang/gocron

go 1.12

require (
    github.com/tang-rosechild/mahonia v0.0.0-20131226213531-0eef680515cc
    github.com/unknwon/com v0.0.0-20190321035513-0fed4efef755 // indirect
    github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575
    github.com/dgrijalva/jwt-go v3.2.0+incompatible
    github.com/go-gomail/gomail v0.0.0-20160411212932-81ebce5c23df
    github.com/go-macaron/binding v0.0.0-20170611065819-ac54ee249c27
    github.com/go-macaron/gzip v0.0.0-20160222043647-cad1c6580a07
    github.com/go-macaron/inject v0.0.0-20160627170012-d8a0b8677191 // indirect
    github.com/go-macaron/toolbox v0.0.0-20180818072302-a77f45a7ce90
    github.com/go-sql-driver/mysql v1.4.1
    github.com/go-xorm/builder v0.3.4 // indirect
    github.com/go-xorm/core v0.6.2
    github.com/go-xorm/xorm v0.7.1
    github.com/golang/protobuf v1.3.1
    github.com/jakecoffman/cron v0.0.0-20190106200828-7e2009c226a5
    github.com/klauspost/compress v1.5.0 // indirect
    github.com/klauspost/cpuid v1.2.1 // indirect
    github.com/lib/pq v1.1.1
    github.com/ouqiang/goutil v1.1.1
    github.com/rakyll/statik v0.1.6
    github.com/sirupsen/logrus v1.4.2
    github.com/urfave/cli v1.20.0
    golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5 // indirect
    golang.org/x/net v0.0.0-20190522155817-f3200d17e092
    golang.org/x/text v0.3.2 // indirect
    google.golang.org/genproto v0.0.0-20190530194941-fb225487d101 // indirect
    google.golang.org/grpc v1.21.0
    gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
    gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df // indirect
    gopkg.in/ini.v1 v1.42.0
    gopkg.in/macaron.v1 v1.3.2
)