diff --git a/src/cmd/go/internal/modcmd/init.go b/src/cmd/go/internal/modcmd/init.go index 0f7421e584..b94453bab0 100644 --- a/src/cmd/go/internal/modcmd/init.go +++ b/src/cmd/go/internal/modcmd/init.go @@ -35,6 +35,9 @@ func runInit(cmd *base.Command, args []string) { if len(args) == 1 { modload.CmdModModule = args[0] } + if os.Getenv("GO111MODULE") == "off" { + base.Fatalf("go mod init: modules disabled by GO111MODULE=off; see 'go help modules'") + } if _, err := os.Stat("go.mod"); err == nil { base.Fatalf("go mod init: go.mod already exists") } diff --git a/src/cmd/go/internal/modload/init.go b/src/cmd/go/internal/modload/init.go index 686c379911..d0beb6e747 100644 --- a/src/cmd/go/internal/modload/init.go +++ b/src/cmd/go/internal/modload/init.go @@ -99,7 +99,8 @@ func Init() { case "on", "": mustUseModules = true case "off": - die() + mustUseModules = false + return } // Disable any prompting for passwords by Git.