1
0
mirror of https://github.com/golang/go synced 2024-11-22 19:24:59 -07:00

cmd/go/internal/modload: ignore $GOPATH/go.mod

The existing implementation returns a fatal error if $GOPATH/go.mod exists.
We couldn't figure out what directory the go tool was treating as $GOPATH
in the error message.

Fixes #46807

Change-Id: If9db4c0377f7c36af9c367398d3da494be04cd41
Reviewed-on: https://go-review.googlesource.com/c/go/+/539596
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
This commit is contained in:
Quan Tong 2023-11-06 08:00:31 +07:00 committed by Gopher Robot
parent 07c388f17c
commit 0891b17ce5
2 changed files with 19 additions and 1 deletions

View File

@ -485,7 +485,13 @@ func Init() {
if len(list) > 0 && list[0] != "" {
gopath = list[0]
if _, err := fsys.Stat(filepath.Join(gopath, "go.mod")); err == nil {
base.Fatalf("$GOPATH/go.mod exists but should not")
fmt.Fprintf(os.Stderr, "go: warning: ignoring go.mod in $GOPATH %v\n", gopath)
if RootMode == NeedRoot {
base.Fatal(ErrNoModRoot)
}
if !mustUseModules {
return
}
}
}
}

View File

@ -0,0 +1,12 @@
! go mod tidy
stderr '^go: warning: ignoring go.mod in \$GOPATH'
stderr '^go: go.mod file not found in current directory or any parent directory; see ''go help modules'''
go env
stdout 'GOPATH='
stderr '^go: warning: ignoring go.mod in \$GOPATH'
-- $GOPATH/go.mod --
module bug
go 1.21