diff options
author | Russ Cox <rsc@golang.org> | 2018-07-18 15:05:17 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2018-07-19 18:15:49 +0000 |
commit | 764d0bb0314c327a5149160ca77de9873dafb0fc (patch) | |
tree | 20db858b3e8d0cbdb836959d9529d328093f9760 /src/cmd/go/internal/modcmd/mod.go | |
parent | 50df4b30cc5f4e7cc504ada0c1276399be3c37c2 (diff) | |
download | go-764d0bb0314c327a5149160ca77de9873dafb0fc.tar.gz go-764d0bb0314c327a5149160ca77de9873dafb0fc.zip |
cmd/go: diagnose 'go mod' in GOPATH/src better
People are (understandably) confused by creating go.mod files in GOPATH/src
and then having the go command not use modules in those directories.
We can't change that behavior (or we'll break non-module users of GOPATH)
but we can force 'go mod' (including 'go mod -init') to fail loudly in that case.
If this is not enough, the next step would be to print a warning every time
the go command is run in a GOPATH/src directory with a go.mod but
module mode hasn't triggered. But that will annoy all the non-module users.
Hopefully anyone confused will eventually run a 'go mod' command of
some kind, which will fail loudly.
Fixes #26365.
Change-Id: I8c5fe987fbc3f8d2eceb1138e6862a391ade150c
Reviewed-on: https://go-review.googlesource.com/124708
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Diffstat (limited to 'src/cmd/go/internal/modcmd/mod.go')
-rw-r--r-- | src/cmd/go/internal/modcmd/mod.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/go/internal/modcmd/mod.go b/src/cmd/go/internal/modcmd/mod.go index ddf5000dd8..b2769fd5d6 100644 --- a/src/cmd/go/internal/modcmd/mod.go +++ b/src/cmd/go/internal/modcmd/mod.go @@ -207,7 +207,7 @@ func init() { func runMod(cmd *base.Command, args []string) { if modload.Init(); !modload.Enabled() { - base.Fatalf("go mod: cannot use outside module") + base.Fatalf("go mod: cannot use outside module; see 'go help modules'") } if len(args) != 0 { base.Fatalf("go mod: mod takes no arguments") |