受众

学习过 Go 的人,入门即可

go mod 命令

随着 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 篇文章,阅读顺序有先后。

  1. https://roberto.selbach.ca/intro-to-go-modules/

    这是Roberto Selbach大神写的这篇 Step by step 的 go mod 入门文章,非常好理解

  2. https://github.com/golang/go/wiki/Modules

    go mod 的官方文档,想了解的多一点最好还是通读一下

  3. https://roberto.selbach.ca/go-proxies/

    最后还有一篇介绍 GOPROXY 的文章,比较适合对 go mod 熟悉之后再看

使用感受

感觉 go mod 应该是受了 npm 的 package.json 启发,总体而言比过去的 vendor 好了很多,但是如果要修改依赖库,还需要再重新发布个版本,感觉调试起来不是很方便。


↙↙↙阅读原文可查看相关链接,并与作者交流