Search code examples
godependenciesvendorgovendor

Does govendor automatically include transitive dependencies?


Let's say I add a new dependency X through govendor add or govendor fetch. This dependency X has a dependency on Y.

Will govendor automatically pull in those dependencies as well? Or will I have to do govendor add Y.

Does the behavior differ betweeen add and fetch?

I couldn't find this discussed on any of the documentation here: https://github.com/kardianos/govendor

Or by running govendor add --help


Solution

  • govendor fetch <package_name> will automatically include transitive dependencies.

    govendor add <package_name> will not.

    However if you run govendor add +external (with no package name) it will vendor the dependencies and transitive dependencies that your code relies on, as long as they are checked out on your GOPATH.