如何使用Go项目工作区来使用依赖项工具并使用工具?

时间:2014-10-28 15:17:35

标签: vim emacs go dependency-management

我有一个包含内部包的项目:

  • 项目包“root”:a/b/c(例如github / b / c)
  • a/b/c我们有很多套餐(p1,p2 ......)
  • 项目根据How to Write Go Code官方建议进行管理。本地项目路径为:$GOPATH/src/a/b/c。所有进口商品都“不相对”。
  • 该项目已 go get -able dependencies

现在我想使用一些依赖管理器工具,如gomgodep。每个工具都在存储库中创建一个额外的目录,并将所有供应商依赖项放在那里。它还与GOPATH一起使用并将其设置为该供应商目录。我们假设该工具将所有供应商放入path_to_project/.vendor - 成为新的GOPATH

我想使用其中一个go工具(gofmtgorename,...)了解我的项目和供应商目录中的包。问题是,如果GOPATH=path_to_project/.vendor godep 这样做),那么工具就不知道我项目中的包。

这样做的一个想法是在shell端编辑器中设置GOPATH=path_to_project/.vendor:GOPATH。或者使用gom exec调用每个命令(gom在上面的命题中设置GOPATH)

有没有现成的自动解决方案?

最终目标是将go项目与指定的依赖项版本(如git commits)捆绑在一起,并使工具+编辑器(vim / emacs)使用此工具。

1 个答案:

答案 0 :(得分:0)

如果您正在使用godep,您只需在go命令前加上godep,如下所示:

godep go build

godep go fmt