// indirect means the dependency is not directly imported.
replace
Replaces a module version or path:
// Replace with local versionreplace example.com/old => ./local/path// Replace with different modulereplace example.com/old => example.com/new v1.0.0// Replace specific versionreplace example.com/pkg v1.0.0 => example.com/pkg v1.1.0
exclude
Excludes specific versions:
exclude github.com/broken/pkg v1.2.3
retract
Marks versions as retracted:
// Published accidentallyretract v1.0.0// Range of versionsretract [v1.0.0, v1.2.0]
# Download all dependenciesgo mod download# Download specific modulego mod download github.com/gorilla/[email protected]# Output JSONgo mod download -json
# Why is this package needed?go mod why github.com/pkg/errors# Why is this module needed?go mod why -m github.com/gorilla/mux# Check multiple packagesgo mod why github.com/pkg1 github.com/pkg2
# Add latest versiongo get github.com/gorilla/mux# Add specific versiongo get github.com/gorilla/[email protected]# Add latest patch releasego get github.com/gorilla/[email protected]
# Upgrade to latestgo get -u github.com/gorilla/mux# Upgrade to specific versiongo get github.com/gorilla/[email protected]# Upgrade to latest patchgo get -u=patch github.com/gorilla/mux
# Latest versiongo get example.com/pkg@latest# Specific versiongo get example.com/[email protected]# Version prefixgo get example.com/[email protected]# Commit hashgo get example.com/pkg@abc123# Branchgo get example.com/pkg@mastergo get example.com/pkg@main# Upgrade (latest with same major version)go get -u example.com/pkg# Upgrade to latest patchgo get -u=patch example.com/pkg# Remove dependencygo get example.com/pkg@none
# List available versionsgo list -m -versions github.com/gorilla/mux# Show current versiongo list -m github.com/gorilla/mux# Show all dependenciesgo list -m all# Show as JSONgo list -m -json all
// Can use v1.2.0, v1.2.1, v1.3.0, etc.require example.com/pkg v1.2.0// Cannot automatically upgrade to v2.0.0// Must explicitly import v2:import "example.com/pkg/v2"