Reference: https://blog.golang.org/using-go-modules
export GOPRIVATE=private.com
export GO111MODULE=on
- Setting private repository to GOPRIVATE
- If
GO111MODULE=on
is set, go.mod and go.sum is updated at go build.
$ cd /project
$ go mod init
$ go build
$ go mod vendor
go mod init
creates go.mod and go.sum files. go.mod file manages dependency and version for modules. go.sum file manages checksum for dependency modules to confirm reliability.
go mod vendor
can take modules to vendor. If vendor is used, execute go mod vendor
and set GO111MODULE=off
.
ENV GO111MODULE=off
Setting GO111MODULE=off
prevent downloading and use modules from vendor when making a build on docker.
$ cd /project
$ go get -u github.com/gorilla/mux
$ go build
$ go mod vendor
$ cd /project
$ go mod tidy
$ go build
$ go mod vendor
go mod tidy
and go mod vendor
remove unnecessary from vendor.