我有一个项目里面有包:
a/b/c (如github/b/c)a/b/c中我们有很多软件包(p1,p2 .)$GOPATH/src/a/b/c。而且,所有的进口都是“非相对的”。现在,我想使用一些依赖关系管理工具,如gom或戈德普。每个工具都会在存储库中创建一个额外的目录,并将所有供应商依赖项放在其中。此外,它还使用GOPATH并将其设置为供应商目录。让我们假设该工具将把所有供应商都放到path_to_project/.vendor中--成为一个新的GOPATH。
我想使用一个go工具(gofmt,gorename,.)注意我的项目和供应商目录中的包。问题是,如果GOPATH=path_to_project/.vendor (godep这样做),那么工具就不知道我的项目中的包。
这样做的一个想法是在外壳端编辑器中设置GOPATH=path_to_project/.vendor:GOPATH。或者用gom exec调用每个命令(gom在上面的命题中设置一个GOPATH )
有现成的自动解决方案吗?
最终目标是将go项目绑定到指定的依赖版本(如git提交),并使tools +编辑器(vim/emacs)与此工具一起工作。
发布于 2014-11-14 15:25:34
如果使用godep,只需在go命令前面加上godep,如下所示:
godep go build或
godep go fmt https://stackoverflow.com/questions/26611951
复制相似问题