Reputation: 45
I have built a small application locally in golang. My directory structure is as follows.
gocode/
src/
github.com/
travel/
config/
server/
routes/
main.go
pkg/
linux/
github.com/
// projects with .a extension
golang.org/
x/net/
x/oauth2
bin/
I went through a lot of documentations, which states to push only /src folder to github as best practice.
I am confused with what happens with packages like golang.org/x/net which are not inside /src directory.
So we need to run go import "net/http" in production server as well and create executable binaries.
I've come from a nodejs background so is it something like we do "npm install" in nodejs.But the thing is we have a package.json file in case of node. Anyways please help me with this confusion.
Upvotes: 0
Views: 558
Reputation: 4776
You would only push the contents of the src/github.com/travel
directory. go get
handles dependency resolution for you when someone wants to download your package. Take a look at something like logrus. Running go get github.com/sirupsen/logrus
will download all dependencies needed to build the package. This includes any of your golang.org/x/
packages.
Upvotes: 1