GO Mod使用教程

GO Mod使用教程

一、管理依赖

1.初始化

项目 my_project

cd my_project
go mod init my_project

即会在my_project目录下生成go.mod

注意文件内的内容将会由my_project为根目录

go build 则会自动查找文件依赖并下载

2.下载依赖

go mod download

下载依赖并在my_project下生成go.lock

二、ide支持

目前介绍goland

1.在preferences->go->go mode选择 enable

2.preferences->go->gopath 去掉所有gopath

注:如果目前无法支持本地包,请重启一下ide(一般不会出现这种情况)

三、运行

prod 环境不需要指定gopath

dev需要指定gopath,用于查找依赖
查看gopath
echo $GOPATH
指定临时gopath
export GOPATH=/Users/ocean/go

四、常用命令

    go mod download //下载依赖包
    go mode dit        edit go.mod from tools or scripts 编辑go.mod
    go mod graph //打印模块依赖图
    go mod init        initialize new module in current directory 在当前目录初始化mod
    go mod tidy //拉取缺少的模块,移除不用的模块。
    go mod vendor //将依赖复制到vendor下
    go mod verify      verify dependencies have expected content 验证依赖是否正确
    go mod why //解释为什么需要依赖

五、下载缓存

依赖会下载到$GOPATH/pkg
若之前拉过一次代码,会把该次go.mod里面的版本信息缓存到 $GOPATH/pkg/mod/cache里面,
下载时如果cache有该版本信息,就用cache里面的版本信息去下载,否则重新下载
易错点:
如果你已经拉取了一个tag版本下的包,若这个tag包含的信息被修改了,需要清除cache才能重新拉取这个这个更新后tag的信息

六、备注

在dev模式需要指定 $GOPATH
依赖包会被保存到 $GOPATH/pkg下面

cd $GOPATH
ls
bin pkg src

如果有go相关工具包,会使用src下的工具包

五、常见问题
beego 版本gomod配置的是1.7.1每次go build 或者bee run 会强制更新为1.12.0
1.bee run使用了src的版本,由于有该分支是devlop是1.12.0
2.bee 1.12.0使用了 “github.com/astaxie/beego/context/param”
该包需要1.12.0才能使用

发布了76 篇原创文章 · 获赞 7 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jiuweiC/article/details/89478739