Using this module as an example (using a specific commit so others will see what I see):
git clone git://github.com/walles/moar
Set-Location moar
git checkout d24acdbf
I would like a way to tell Go to "update everything". Assume that the module
will work with the newest version of everything. Below are five ways I found to
do this, assume each is run on a clean clone. This results in a go.mod
of 19
lines:
go get -u
This results in a go.mod
of 14 lines:
go get -u
go mod tidy
This results in a go.mod
of 13 lines:
go mod tidy
If I just manually delete everything in require
and run go mod tidy
, I get
12 lines. If I just manually delete everything in require
and run go get -u
, I get 11 lines. My question is, why are these methods producing different
results, and what is the "right way" to do what I am trying to do?
go get -u
upgraded all of the module dependencies of the modules containing the named packages, but in practice that ended up upgrading way too many irrelevant modules, so we narrowed it in Go 1.13: see golang.org/doc/go1.13#go-get. – Goldarn