学习过 Go 的人,入门即可
随着 Go 1.11 的发布,go 开始支持 mod 子命令
这个命令解决了 Go 依赖更新的问题。刚开始学起来有一点难度,不过学会了之后,会发现这玩意比原来的 vendor 好太多。
官方还专门弄了一个https://goproxy.io网站,专门方便我们这些国内的用户。
先看下自带的帮助。
$ go mod
Go mod provides access to operations on modules.
Note that support for modules is built into all the go commands,
not just 'go mod'. For example, day-to-day adding, removing, upgrading,
and downgrading of dependencies should be done using 'go get'.
See 'go help modules' for an overview of module functionality.
Usage:
go mod <command> [arguments]
The commands are:
download download modules to local cache
edit edit go.mod from tools or scripts
graph print module requirement graph
init initialize new module in current directory
tidy add missing and remove unused modules
vendor make vendored copy of dependencies
verify verify dependencies have expected content
why explain why packages or modules are needed
Use "go help mod <command>" for more information about a command.
想学好 go mod 命令,推荐 3 篇文章,阅读顺序有先后。
https://roberto.selbach.ca/intro-to-go-modules/
这是Roberto Selbach大神写的这篇 Step by step 的 go mod 入门文章,非常好理解
https://github.com/golang/go/wiki/Modules
go mod 的官方文档,想了解的多一点最好还是通读一下
https://roberto.selbach.ca/go-proxies/
最后还有一篇介绍 GOPROXY 的文章,比较适合对 go mod 熟悉之后再看
感觉 go mod 应该是受了 npm 的 package.json 启发,总体而言比过去的 vendor 好了很多,但是如果要修改依赖库,还需要再重新发布个版本,感觉调试起来不是很方便。