我有一个包含内部包的项目:
a/b/c
(例如github / b / c)a/b/c
我们有很多套餐(p1,p2 ......)$GOPATH/src/a/b/c
。所有进口商品都“不相对”。现在我想使用一些依赖管理器工具,如gom或godep。每个工具都在存储库中创建一个额外的目录,并将所有供应商依赖项放在那里。它还与GOPATH
一起使用并将其设置为该供应商目录。我们假设该工具将所有供应商放入path_to_project/.vendor
- 成为新的GOPATH
。
我想使用其中一个go工具(gofmt
,gorename
,...)了解我的项目和供应商目录中的包。问题是,如果GOPATH=path_to_project/.vendor
( godep 这样做),那么工具就不知道我项目中的包。
这样做的一个想法是在shell端编辑器中设置GOPATH=path_to_project/.vendor:GOPATH
。或者使用gom exec
调用每个命令(gom在上面的命题中设置GOPATH)
有没有现成的自动解决方案?
最终目标是将go项目与指定的依赖项版本(如git commits)捆绑在一起,并使工具+编辑器(vim / emacs)使用此工具。
答案 0 :(得分:0)
如果您正在使用godep,您只需在go命令前加上godep,如下所示:
godep go build
或
godep go fmt