The -json flag causes download to print a sequence of JSON objects to standard output, describing each downloaded module (or failure), corresponding to this Go struct: type Module struct { ... }
It seems that doesn't always happen for some networking errors observed in the Go build system (build 8736907273916323825 being one example). Consider a minimal set of steps which seems to reproduce the problem:
$ export GOPROXY=http://127.0.0.1 # simulate an error downloading modules
$ cd $(mktemp -d)
$ printf 'module test\nrequire example.com v0.0.0\n' > go.mod
$ go mod download -json
Go version
go version go1.23.1 darwin/arm64
Output of
go env -changed
in your module/workspace```sh GOPROXY='http://127.0.0.1' ```
What did you do?
https://pkg.go.dev/cmd/go#hdr-Download_modules_to_local_cache says:
It seems that doesn't always happen for some networking errors observed in the Go build system (build 8736907273916323825 being one example). Consider a minimal set of steps which seems to reproduce the problem:
What did you see happen?
No JSON is printed to stdout:
What did you expect to see?
JSON is printed to stdout, describing the error:
CC @matloob, @samthanawalla.