依赖管理工具
使用 PHP 作为开发语言的同学都知道,最初引用外部类库包时需要一个个下载,然后再一个个手动导入;如果使用的外部类库中还有引用的类库万一没在包里,还得去找对应的类库包,然后再导入,非常麻烦;幸好后来有了 composer,所有的类库包都是集中式管理的,在一个地方就可以找到并一键下载引用,极大地方便了类库包的引用。
在 Go 语言中,第三方依赖的管理工具经过了一个漫长的发展过程。在 Go 1.11 发布之前 govendor、dep 等工具百花齐放。直到 Go mod 出现,开始一统天下。
在这之前 Go 的依赖非常简单粗暴,只要依赖源码就可以了。例如:
import "github.com/jinzhu/gorm"
github.com/jinzhu/gorm
就是 gorm 的GitHub项目路径。
GOPATH时期
Go 在1.11 之前使用GOPATH模式
进行依赖的管理。安装部署 Go 环境,使用 Go 进行开发的时候强制被要求要设置GOPATH
(当然安装过程中也会默认指定$GOPATH=~/go
)。 要在GOPATH
路径下新建 src /bin /pkg
文件夹。
➜ ~/go
├── bin # 存储go编译生成的二进制可执行文件,一般会把该路径配置到PATH中,PATH=$PATH:$GOPATH/bin
├── pkg # 存储预编译的目