You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #45979 (comment), I noted that go get in a go 1.17 module adds its arguments as // indirect.
As an intentional consequence of #45965, we place the // indirect dependencies in a separate section of the go.mod file from the direct dependencies. That potentially makes these new actually-direct dependencies more difficult to spot.
If we saw the import of the missing package from within the main module to begin with, we would add it without the erroneous // indirect marking, and avoid the churn of moving it between sections. So I think we should suggest a command that does that, instead of suggesting go get on the specific missing package(s).
That would also help to eliminate some of the redundancy in the go get hints (#43653).
changed the title
cmd/go: in errors for missing packages, suggest 'go get' on a package in the main module instead of the missing package itself
cmd/go: suggest 'go get' for packages in the main module instead of missing external package paths
Jun 17, 2021
This would also avoid the case where we suggest go get on a package path, but the resulting go get command adds a module dependency that does not contain a package at its root (as in the example reported in #57473).