til/Development/Go/Modules.md

752 B

Modules

First time:

go mod init

Daily workflow:

# Update modules
go get -u ./...

# Install module with chosen commit or version
go get public.git.com/module@version

# Prune no longer used modules
go mod tidy

# Copy modules to local vendor directory
go mod vendor

Outside modules:

GOMODULE11=on go get example.com/foo/bar

Update go version:

go mod edit -go=1.XY

Replace module path and version pair:

go mod edit -replace old[@v]=new[@v]

Drop replace module path:

go mod edit -dropreplace old[@v]

In world of corporation, we work with private repository, add to ~/.bashrc, ~/.zshrc:

export GOPRIVATE=private.git.com