使用垃圾来管理 .vendor

trash 是一个使用 vendor.conf 文件配置的简约销售工具。这个例子是针对 trash 本身的:

# package
github.com/rancher/trash

github.com/Sirupsen/logrus                      v0.10.0
github.com/urfave/cli                           v1.18.0
github.com/cloudfoundry-incubator/candiedyaml   99c3df8  https://github.com/imikushin/candiedyaml.git
github.com/stretchr/testify                     v1.1.3
github.com/davecgh/go-spew                      5215b55
github.com/pmezard/go-difflib                   792786c
golang.org/x/sys                                a408501

第一个非注释行是我们正在管理的包 ./vendor for(注意:这可以是项目中的任何包,而不仅仅是根目录中的包)。

注释行以 # 开头。

每个非空和非注释行列出一个依赖项。只需要列出依赖项的 root 包。

包名称之后是版本(提交,标记或分支)以及可选的包存储库 URL(默认情况下,它是从包名称推断出来的)。

要填充 ./vendor 目录,你需要在当前目录中包含 vendor.conf 文件并运行:

$ trash

垃圾桶将销售的库克隆到~/.trash-cache(默认情况下),签出请求的版本,将文件复制到 ./vendor 目录并修剪非导入的包和测试文件。最后一步使你的 ./vendor 精益求精,有助于节省项目回购空间。

注意:从 v0.2.5 开始,垃圾可用于 Linux 和 macOS,并且仅支持 git 来检索包,因为 git 是最受欢迎的包,但我们正在努力添加 go get 支持的所有其他包。