官方已经推出最新的包管理方案:go module,所以此文章已过期。
官方文档:using-go-modules
我的文章:Go Module 常见问题
想用官方出的dep做依赖管理, 但无奈dep的速度太慢, 最后还是使用govendor了.
安装
安装 govendor
go get -u github.com/kardianos/govendor
生成vendor
init
govendor init
将生成一个vendor.json, 里面并没有依赖包信息.
从本地添加依赖到vendor
govendor add +e
现在看vendor.json
{
"comment": "",
"ignore": "test",
"package": [
{
"checksumSHA1": "BhMowD2DIKSd9qq8Pzh7Y3mh2/w=",
"path": "github.com/gin-contrib/sse",
"revision": "22d885f9ecc78bf4ee5d72b937e4bbcdc58e8cae",
"revisionTime": "2017-01-09T09:34:21Z"
},
{
"checksumSHA1": "jfzaIhRB69YKvY1KgaUhL66omiQ=",
"path": "github.com/gin-gonic/gin/binding",
"revision": "46662e700bd20289503475770dbf0384e43398eb",
"revisionTime": "2017-12-20T01:32:39Z"
},
......
和pakeage.json
同样, 我们需要将这个vendor.json
添加到GIT, 但忽略vendor下的其他文件.
.gitignore
/vendor/*
!/vendor/vendor.json
拉取依赖到vendor
其他人可以使用vendor.json
重新安装依赖包到vendor
govendor sync
使用vendor
注意vendor所在的目录一定要在第一个GOPAHT下