This gist is based on the information available at golang/dep, only slightly more
terse and annotated with a few notes and links primarily for my own personal benefit. It's public in case this
information is helpful to anyone else as well.
I initially advocated Glide for my team and then, more recently, vndr. I've also taken the approach of exerting direct control over what goes into
vendor/ in my Dockerfiles, and also work from
isolated GOPATH environments on my system per project to ensure that dependencies are explicitly found under
At the end of the day, vendoring (and committing
vendor/) is about being in control of your dependencies and being able to achieve reproducible builds. While you can achieve this manually, things that are nice to have in a vendoring tool include: