首页 文章

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

提问于
浏览
1

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

  • project package "root": a/b/c (例如github / b / c)

  • a/b/c 我们有很多包(p1,p2 ......)

  • 项目根据How to Write Go Code官方建议进行管理 . 本地项目路径是: $GOPATH/src/a/b/c . 所有进口货物都是"not relative" .

  • 该项目具有可获得的依赖关系

现在我想使用一些依赖管理器工具,如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)

Is there any ready and automatic solution for this?

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

1 回答

  • 0

    如果你正在使用godep,你可以在go命令前面添加godep,如下所示:

    godep go build
    

    要么

    godep go fmt
    

相关问题