Go 的包依赖管理, 终于在前几天发布的 1.11 有了一个初步官方定数. 再也不用纠结于离不开 $GOPATH, 1.11 发布之前试用了一下 vgo, 文档比较少, 踩了一些坑就没深入继续了. 这次正式发布的 1.11 其实就是把 vgo 给正式合并进来了.

$GOPATH 之外使用 go modules, 如果是现有项目的话可以直接 go mod init, 现有项目会根据 git remote 自动识别 module 名, 但是新项目的话就会报 go: cannot determine module path for source directory, 需要带上 module 名.

$GOPATH/pkg/ 下会多了一个 mod 目录, 再也不是像 go get 下载到 $GOPATH/src


Introduction to Go Modules

Brad Fitzpatrick