侧边栏壁纸
博主头像
Gstory's Blog 博主等级

每天进步一点点!

  • 累计撰写 108 篇文章
  • 累计创建 23 个标签
  • 累计收到 11 条评论

目 录CONTENT

文章目录
GO

Go mod常用与高级操作

gstory
2020-01-10 / 0 评论 / 0 点赞 / 167 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2023-10-08,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1、升级GO版本

卸载旧版本,删除对应文件

brew uninstall -f go

更新一下brew

brew update

安装go

brew install go

2、 开启Go module

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct

3、 go get使用

使用go module之后,go get 拉取依赖的方式就发生了变化

下载项目依赖

go get ...

//拉取最新的版本(优先择取 tag)
go get golang.org/x/text@latest

//拉取 tag 为 v0.3.2 的 commit
go get golang.org/x/text@v0.3.2

//拉取 hash 为 342b231 的 commit,最终会被转换为 v0.3.2:
go get golang.org/x/text@342b2e

//指定版本拉取,拉取v3版本
go get github.com/smartwalle/alipay/v3

更新

go get -u

4、mod命令

命令说明
downloaddownload modules to local cache(下载依赖包)
editedit go.mod from tools or scripts(编辑go.mod)
graphprint module requirement graph (打印模块依赖图)
verifyinitialize new module in current directory(在当前目录初始化mod)
tidyadd missing and remove unused modules(拉取缺少的模块,移除不用的模块)
vendormake vendored copy of dependencies(将依赖复制到vendor下)
verifyverify dependencies have expected content (验证依赖是否正确)
whyexplain why packages or modules are needed(解释为什么需要依赖)

5、mod基本操作

初始化一个moudle,模块名为你项目名

go mod init 模块名

下载modules到本地cache

目前所有模块版本数据均缓存在 $GOPATH/pkg/mod和 ​$GOPATH/pkg/sum 下

go mod download

编辑go.mod文件 选项有-json、-require和-exclude,可以使用帮助go help mod edit

go mod edit

以文本模式打印模块需求图

go mod graph

删除错误或者不使用的modules

go mod tidy

生成vendor目录

go mod vendor

验证依赖是否正确

go mod verify

查找依赖

go mod why

6、mod高级操作

更新到最新版本

go get github.com/gogf/gf@version

如果没有指明 version 的情况下,则默认先下载打了 tag 的 release 版本,比如 v0.4.5 或者 v1.2.3;如果没有 release 版本,则下载最新的 pre release 版本,比如 v0.0.1-pre1。如果还没有则下载最新的 commit

更新到某个分支最新的代码

go get github.com/gogf/gf@master

更新到最新的修订版(只改bug的版本)

go get -u=patch github.com/gogf/gf

替代只能翻墙下载的库

go mod edit -replace=golang.org/x/crypto@v0.0.0=github.com/golang/crypto@latest
go mod edit -replace=golang.org/x/sys@v0.0.0=github.com/golang/sys@latest

清理moudle 缓存

go clean -modcache

查看可下载版本

go list -m -versions github.com/gogf/gf
0

评论区