Closed
Description
What version of Go are you using (go version
)?
$ go version go version go1.16.4 linux/amd64
Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env
)?
go env
Output
$ go env GO111MODULE="on" GOARCH="amd64" GOBIN="/home/manlio/.local/bin" GOCACHE="/home/manlio/.cache/go-build" GOENV="/home/manlio/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="*.local" GOMODCACHE="/home/manlio/.local/lib/go/pkg/mod" GONOPROXY="" GONOSUMDB="*.local" GOOS="linux" GOPATH="/home/manlio/.local/lib/go:/home/manlio/src/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/lib/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64" GOVCS="" GOVERSION="go1.16.4" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/dev/null" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3071205222=/tmp/go-build -gno-record-gcc-switches" GOROOT/bin/go version: go version go1.16.4 linux/amd64 GOROOT/bin/go tool compile -V: compile version go1.16.4 uname -sr: Linux 5.11.16-arch1-1 /usr/lib/libc.so.6: GNU C Library (GNU libc) release release version 2.33. gdb --version: GNU gdb (GDB) 10.1
What did you do?
Assuming $GOPATH
is ~/go
:
mkdir "~/go/src/test.localhost/space in dir"
cd "~/go/src/test.localhost/space in dir"
go mod init
What did you expect to see?
An error reported by go mod init
, since the computed module path is incorrect.
What did you see instead?
$ cat go.mod
module "test.localhost/space in dir"
go 1.16
The issue is probably the same as the one in #45025, however in this case go mod
is free to don't use the auto generated module path.
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
heschi commentedon May 10, 2021
cc @bcmills @jayconrod @matloob
jayconrod commentedon May 10, 2021
CL 288712 will probably fix this.
perillo commentedon May 10, 2021
@jayconrod, you are right, thanks.
Looking at the source code,
findModulePath
returns the errorbad module path inferred from directory in GOPATH
in case of invalid module path. It callscheckModulePathLax
.I'm not closing this issue because https://go-review.googlesource.com/c/go/+/288712 don't have tests for this use case.
perillo commentedon May 10, 2021
Looking at
cmd/go/testdata/script/mod_init*
, it seems there are no tests to cover thefindModulePath
function.gopherbot commentedon May 16, 2021
Change https://golang.org/cl/320310 mentions this issue:
cmd/go: align checks of module path when creating go.mod file
gopherbot commentedon Aug 13, 2021
Change https://golang.org/cl/288712 mentions this issue:
cmd/go: make mod init disallow invalid major version suffixes
cmd/go: make mod init disallow invalid major version suffixes