I've needed to find out this kind of info lots of times in the past.

I wrote a small tool named "showdeps" that includes the capability
to find out why a dependency is present.

You can run "showdeps -why somepackage" to find out why there
is a dependency on somepackage, which prints a line showing
each package involved in the dependency and the packages
that depend on it.

You can also use the "..." wildcard to find out dependencies
on a whole repo; for example "showdeps -why github.com/foo/bar/..."
would print out all dependencies involved in the chain from
the current package to any package below github.com/foo/bar.

With large dependency projects, I find this quite a bit easier than
trying to work out the linkage by inspecting the whole graph.

To get showdeps:

    go get github.com/rogpeppe/showdeps

Hope this helps,

  rog.


On 30 July 2017 at 05:55, Tong Sun <suntong...@gmail.com> wrote:

> Is there any tools out there that can show import tree for Go projects?
> I.e., the dependency graph that shows who imports what packages.
>
> During `go build -v` I saw one (3rd party) package that shouldn't be
> included, and am wondering who is introducing that dependency.
> How can I find out? Thx.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to