Go依赖管理工具

    目前版本:

    v0.4.1

      $GOPATH/bin不在PATH下,则需要将生成的dep文件从$GOPATH/bin移动至$GOBIAN

      验证

      在项目根目录执行初始化命令,dep在初始化时会分析应用程序所需要的所有依赖包,得出依赖包清单

      并生成vendor目录,Gopkg.tomlGopkg.lock文件

      1. $ dep init -v

      直接从对应网络资源处下载

      优先从$GOPATH初始化

      该命令会先从$GOPATH查找既有的依赖包,若不存在则从对应网络资源处下载

      该文件由dep init生成,包含管理dep行为的规则声明

      1. required = ["github.com/user/thing/cmd/thing"]
      2. ignored = [
      3. "bitbucket.org/user/project/pkgA/pkgY"
      4. ]
      5. [metadata]
      6. key1 = "value that convey data to other systems"
      7. system1-data = "value that is used by a system"
      8. system2-data = "value that is used by another system"
      9. [[constraint]]
      10. # Required: the root import path of the project being constrained.
      11. name = "github.com/user/project"
      12. # Note that only one of "branch", "version" or "revision" can be specified.
      13. version = "1.0.0"
      14. branch = "master"
      15. revision = "abc123"
      16. # Optional: an alternate location (URL or import path) for the project's source.
      17. # Optional: metadata about the constraint or override that could be used by other independent systems
      18. [metadata]
      19. key1 = "value that convey data to other systems"
      20. system1-data = "value that is used by a system"
      21. system2-data = "value that is used by another system"

      Gopkg.lock

      该文件由dep ensuredep init生成,包含一个项目依赖关系图的传递完整快照,表示为一系列[[project]]

      常用命令

      用于确保本地的关系图、锁、依赖包清单完全一致

      dep ensure -add

      1. # 引入该依赖包的最新版本
      2. dep ensure -add github.com/pkg/foo
      3. dep ensure -add github.com/pkg/foo@^1.0.1

      Gopkg.lock中的约定依赖项更新为Gopkg.toml允许的最新版本

      目前还在官方试验阶段,但已表示生产可安全使用

      如果出现什么问题,大家可以一起留个言讨论讨论