Description
When trying to import a package, in this case https://github.com/gobuffalo/pop, that has a semver tag >=2.0.0
, in Pop's case it is v4.6.4
Go modules skips over versions that have go.mod
files.
In this example Go Modules will always return v4.5.9
, which is the highest version that does not have a go.mod
. Because all versions above this have go.mod
files, Go Modules refuses to pick them, resulting in strange results.
Setting a version explicitly will work, but letting Go Modules find it, always fails.
It would appear that this is the line throwing away the good releases https://github.com/golang/go/blob/master/src/cmd/go/internal/modfetch/coderepo.go#L137
A repo that shows the problem can be found here: https://github.com/gobuffalo/pop-vgo
What version of Go are you using (go version
)?
go version go1.11rc1 darwin/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env
)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/markbates/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/markbates/Dropbox/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/6m/vw2ck7mj32z5f63wpgfw5qk80000gn/T/go-build858485480=/tmp/go-build -gno-record-gcc-switches -fno-common"
What did you do?
export GO111MODULE=on
go1.11rc1 mod init
cat go.mod
go1.11rc1 build -v .
go1.11rc1 mod tidy -v
cat go.mod | grep pop
What did you expect to see?
module pop-vgo
require (
github.com/fsnotify/fsnotify v1.4.7 // indirect
github.com/gobuffalo/pop v0.0.0-20180810203029-9f8bf0c11920
github.com/golang/protobuf v1.1.0 // indirect
github.com/hpcloud/tail v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/kr/pretty v0.1.0 // indirect
github.com/onsi/ginkgo v1.6.0 // indirect
github.com/onsi/gomega v1.4.1 // indirect
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e // indirect
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 // indirect
golang.org/x/sys v0.0.0-20180815093151-14742f9018cd // indirect
golang.org/x/text v0.3.0 // indirect
google.golang.org/appengine v1.1.0 // indirect
gopkg.in/fsnotify.v1 v1.4.7 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
)
What did you see instead?
module github.com/gobuffalo/pop-vgo
require (
github.com/cockroachdb/cockroach-go v0.0.0-20180212155653-59c0560478b7 // indirect
github.com/fatih/color v1.7.0 // indirect
github.com/fsnotify/fsnotify v1.4.7 // indirect
github.com/go-sql-driver/mysql v1.4.0 // indirect
github.com/gobuffalo/makr v1.1.2 // indirect
github.com/gobuffalo/packr v1.13.2 // indirect
github.com/gobuffalo/pop v4.5.9+incompatible
github.com/gobuffalo/uuid v2.0.0+incompatible // indirect
github.com/gobuffalo/validate v2.0.0+incompatible // indirect
github.com/golang/protobuf v1.1.0 // indirect
github.com/hpcloud/tail v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0 // indirect
github.com/lib/pq v0.0.0-20180523175426-90697d60dd84 // indirect
github.com/markbates/going v1.0.1 // indirect
github.com/mattn/anko v0.0.6 // indirect
github.com/mattn/go-colorable v0.0.9 // indirect
github.com/mattn/go-isatty v0.0.3 // indirect
github.com/mattn/go-sqlite3 v1.9.0 // indirect
github.com/onsi/ginkgo v1.6.0 // indirect
github.com/onsi/gomega v1.4.1 // indirect
github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516 // indirect
golang.org/x/sys v0.0.0-20180815093151-14742f9018cd // indirect
golang.org/x/text v0.3.0 // indirect
google.golang.org/appengine v1.1.0 // indirect
gopkg.in/fsnotify.v1 v1.4.7 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
gopkg.in/yaml.v2 v2.2.1 // indirect
)