概述
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
四、下载缓存
依赖会下载到$GOPATH/pkg
若之前拉过一次代码,会把该次go.mod里面的版本信息缓存到 $GOPATH/pkg/mod/cache里面,
下载时如果cache有该版本信息,就用cache里面的版本信息去下载,否则重新下载
易错点:
如果你已经拉取了一个tag版本下的包,若这个tag包含的信息被修改了,需要清除cache才能重新拉取这个这个更新后tag的信息
五、版本控制
1.go get 包
会默认下载最新依赖的包,并且会在go.mod里面记录下版本号
如果有tag,则会拉取最的tag包
若要使用某个固定commit的包
require github.com/docker/docker e7b5f7dbe98c(commit)
go.mod会自动更新为相应 pseudo-versions的包版本
官方文档 https://tip.golang.org/doc/go1.13#version-validation
六、常用命令
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 //解释为什么需要依赖
七、备注
在dev模式需要指定 $GOPATH
依赖包会被保存到 $GOPATH/pkg下面
cd $GOPATH
ls
bin pkg src
如果有go相关工具包,会使用src下的工具包
八、常见问题
1.beego 无法自动生成文档
beego延续以前 $GOPATH/src
目录下找项目生成api文档的方式。
1.项目请建立在 $GOPATH/src
2.关闭go mod export GO111MODULE=off
3.执行 bee generate docs
如提示有任何第三方依赖找不到
Package 'github.com/beego/i18n' does not exist in the GOPATH or vendor path
则执行go get github.com/beego/i18n
将会将依赖包下载到$GOPATH/src
下
执行完生成文档命令提示如下则成功了
2020/02/27 18:44:56 SUCCESS ▶ 0036 Docs successfully generated!
2.go.mod beego版本会强制更新
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”
(3)该包需要1.12.0才能使用
3.使用go version go1.13.8 更新的依赖是私有仓库会如下报错
verifying 410 [地址] gone
解决办法:
export GO111MODULE=on
export GOPROXY=direct
export GOSUMDB=off
最后
以上就是快乐短靴为你收集整理的GO Mod使用教程GO Mod使用教程的全部内容,希望文章能够帮你解决GO Mod使用教程GO Mod使用教程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复