• Jay Conrod's avatar
    cmd/go: forbid resolving import to modules when outside of a module · 3322f3e0
    Jay Conrod authored
    When in module mode outside of any module, 'go build' and most other
    commands will now report an error instead of resolving a package path
    to a module.
    
    Previously, most commands would attempt to find the latest version of
    a module providing the package. This could be very slow if many
    packages needed to be resolved this way. Since there is no go.mod file
    where module requirements can be saved, it's a repeatedly slow and
    confusing experience.
    
    After this change, 'go build' and other commands may still be used
    outside of a module on packages in std and source files (.go
    arguments) that only import packages in std. Listing any other package
    on the command line or importing a package outside std will cause an
    error.
    
    'go get' is exempted from the new behavior, since it's expected that
    'go get' resolves paths to modules at new versions.
    
    Updates #32027
    
    Change-Id: Ia9d3a3b4ad738ca5423472e17818d62b96a2c959
    Reviewed-on: https://go-review.googlesource.com/c/go/+/198778
    Run-TryBot: Jay Conrod <jayconrod@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarBryan C. Mills <bcmills@google.com>
    3322f3e0
import_test.go 1.73 KB