Per https://go.dev/doc/go1.22#go-command: > go get is no longer supported outside of a module in the legacy GOPATH mode (that is, with GO111MODULE=off). Other build commands, such as go build and go test, will continue to work indefinitely for legacy GOPATH programs.
This was discussed in https://go.dev/issue/60915, which simultaneously proposed to preserve `go build` and `go test` and to finish removing `go get` in GOPATH mode. (That proposal was a change to the plan stated in https://go.dev/blog/go116-module-changes, which said: “We plan to drop support for GOPATH mode in Go 1.17.” That clearly did not happen as planned in Go 1.17.) The simplest way to download Go dependencies for code review and debugging is to run `go mod vendor` in your module or (newly added) `go work vendor` in your workspace. Also note that `go mod download -json` and `go list -m -json` now include origin information in most cases: ~$ go list -json -m go.uber.org/zap@v1.27.0 { "Path": "go.uber.org/zap", "Version": "v1.27.0", "Time": "2024-02-20T20:55:06Z", "GoMod": "/usr/local/google/home/bcmills/pkg/mod/cache/download/go.uber.org/zap/@v/v1.27.0.mod", "GoVersion": "1.19", "Origin": { "VCS": "git", "URL": "https://github.com/uber-go/zap", "Hash": "fcf8ee58669e358bbd6460bef5c2ee7a53c0803a", "Ref": "refs/tags/v1.27.0" } } On Sunday, March 3, 2024 at 10:12:45 PM UTC-5 Jeffery Carr wrote: > I guess what I would add, is that it seems fair to say that the go-import > / go-source method of versioning is part of how GO works. It's part of the > GO API so to speak If I have to parse that output to clone the source repo > myself, then if GO changes, I have to change my code and it seems like it's > better if the standard is defined by GO in the first place. Either way, I > have to do it now (parse the HTML) and it would have been nice to have a > warning before I updated this morning to 1.22 and had it fail that the > GO111MODULE go get behavior was going to be deprecated in this release. > > jcarr > > On Sunday, March 3, 2024 at 8:57:04 PM UTC-6 Jeffery Carr wrote: > >> Yes, I do understand the go-source/go-import part, but am I missing >> something? I don't understand how you would find the go-source other than >> parsing the HTML >> >> I mean 'go get' used to do that for me, do I now have to write a program >> to do that? I don't understand why that is some bad idea. Yes, we can look >> at the curl output, but I need it to be programatic (I have lots of these >> repos so typing them in by hand is not really an option). >> >> Thanks, >> jcarr >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/33a07c97-20bf-4b2c-a99a-382d98309578n%40googlegroups.com.