Golang Dep:在一个源代码树中有多个二进制文件

Having the following Go project layout with shared library functions in lib and several binaries in cmd using these library functions and having external dependencies:

root
   |
   lib
   cmd
     |
     binary1
           |
           main.go
     binary2
           |
           main.go
     ...

Searching for a simple way to handle project dependencies with dep tool. What is the expected usage pattern: having multiple Gopkg.* files in each binaryX directory or using a pair of Gopkg.toml and Gopkg.lock files for all these binaries? In the second case how would we compile these binaries knowing that vendor directory will be in project root instead of binaryX directories?

Normally, you'd just have a single root/vendor directory that all your various deps that are referenced by the lib and cmd code

When compiling, just do it like normal.

go install ./cmd/...

(or however you want to build)