goでそのパッケージが利用しているパッケージを調べるコマンドを作った(pkg-tree)
元々の発端はdepがTOMLの読み込みに使っているパッケージが何か調べるのが面倒だったため。
install
$ go get -v github.com/podhmo/pkg-tree
使いかた。デフォルトでは標準ライブラリも全部出てしまうので邪魔だったら --ignore-std-pkg
などのオプションをつける。
$ pkg-tree --ignore-std-pkg github.com/golang/dep github.com/golang/dep #=0 github.com/golang/dep/vendor/github.com/pkg/errors #=14 github.com/golang/dep/internal/fs #=28 github.com/golang/dep/vendor/github.com/pkg/errors #=14 github.com/golang/dep/gps #=30 github.com/golang/dep/vendor/github.com/boltdb/bolt #=32 github.com/golang/dep/vendor/github.com/sdboyer/constext #=37 github.com/golang/dep/vendor/golang.org/x/sync/errgroup #=39 github.com/golang/dep/vendor/golang.org/x/net/context #=40 github.com/golang/dep/vendor/github.com/pkg/errors #=14 github.com/golang/dep/internal/fs #=28 github.com/golang/dep/vendor/github.com/nightlyone/lockfile #=102 github.com/golang/dep/vendor/github.com/jmank88/nuts #=103 github.com/golang/dep/vendor/github.com/boltdb/bolt #=32 github.com/golang/dep/gps/paths #=104 github.com/golang/dep/gps/internal/pb #=105 github.com/golang/dep/vendor/github.com/golang/protobuf/proto #=106 github.com/golang/dep/gps/pkgtree #=110 github.com/golang/dep/vendor/github.com/pkg/errors #=14 github.com/golang/dep/vendor/github.com/armon/go-radix #=121 github.com/golang/dep/vendor/github.com/golang/protobuf/proto #=106 github.com/golang/dep/vendor/github.com/armon/go-radix #=121 github.com/golang/dep/vendor/github.com/Masterminds/semver #=122 github.com/golang/dep/vendor/github.com/Masterminds/vcs #=125 github.com/golang/dep/gps/paths #=104 github.com/golang/dep/gps/pkgtree #=110 github.com/golang/dep/vendor/github.com/pelletier/go-toml #=127
そういえば
depがTOMLの読み込みに使っているパッケージ https://github.com/pelletier/go-toml みたいですね。