aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/modcmd/mod.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2018-07-18 15:05:17 -0400
committerRuss Cox <rsc@golang.org>2018-07-19 18:15:49 +0000
commit764d0bb0314c327a5149160ca77de9873dafb0fc (patch)
tree20db858b3e8d0cbdb836959d9529d328093f9760 /src/cmd/go/internal/modcmd/mod.go
parent50df4b30cc5f4e7cc504ada0c1276399be3c37c2 (diff)
downloadgo-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.go2
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")