Search code examples
gogovendorgo-modulesgo-packages

How to check-in packages when using Go modules?


We currently are using govendor to manage packages in our go repository. Since we are using a lot of packages, we have decided to check-in the packages sources code into vendor folder, so that:

  • Saving time downloading all packages every time the repository needs to be built in build machines.
  • Avoiding the possibility of one package becoming unavailable online (being deleted, network issues, etc...)

I am interested to use the modules notion introduced in v1.11. However I can't seem to find a similar approach of check-ing in the packages instead of having to download all the packages.

Any ideas?


Solution

  • Go modules provide a go mod vendor command that will create a vendor directory in your package root, same as glide or govendor or dep do.