1

My golang version is go1.10.2 linux/amd64. I can build and run my go project(under gopath/src) without any problem but I cannot see vendor directory under my project folder. I would like to know if the vendor folder is a hidden directory? What are the possible reasons the vendor folder is not generated?

bunny
  • 1,797
  • 8
  • 29
  • 58
  • Why would you expect a vendor directory? – tkausl Jul 01 '18 at 03:45
  • "What are the possible reasons the vendor folder is not generated?" --- it's not done automatically. If you haven't done it explicitly - it's not created and used. Check https://github.com/golang/dep – zerkms Jul 01 '18 at 03:51
  • Thank you! Will look into the link provided. – bunny Jul 01 '18 at 04:00

1 Answers1

4

Vendor directory is used as an alternative to GOPATH when resolving dependencies. A dependency is first looked up in /vendor then in GOPATH then in GOROOT.

If you go get all your dependencies they'll be in GOPATH/src instead of /vendor.

To start adding project specific dependencies to vendor dir you need to use a dependency manager such as glide or dep or manually copy everything to /vendor.

This SO answer goes into more detail on using vendor dir in Go - https://stackoverflow.com/a/37238226/1589165

Harshil Sharma
  • 2,016
  • 1
  • 29
  • 54