Open
Description
related to
#35732
which remains the top google hit for this error
what does one do to get this simple example to work?
jaten@jatens-MacBook-Pro ~/etcd-embed $ go build
go: errors parsing go.mod:
/Users/jaten/etcd-embed/go.mod:3: require go.etcd.io/etcd: version "v3.4.13" invalid: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v3
jaten@jatens-MacBook-Pro ~/etcd-embed $ go version
go version go1.14.4 darwin/amd64
jaten@jatens-MacBook-Pro ~/etcd-embed $ cat go.mod
module github.com/glycerine/etcd-embed
require go.etcd.io/etcd v3.4.13
go 1.14
jaten@jatens-MacBook-Pro ~/etcd-embed $ cat main.go
package main
import (
"log"
"time"
"go.etcd.io/etcd/v3/embed"
)
func main() {
cfg := embed.NewConfig()
cfg.Dir = "default.etcd"
e, err := embed.StartEtcd(cfg)
if err != nil {
log.Fatal(err)
}
defer e.Close()
select {
case <-e.Server.ReadyNotify():
log.Printf("Server is ready!")
case <-time.After(60 * time.Second):
e.Server.Stop() // trigger a shutdown
log.Printf("Server took too long to start!")
}
log.Fatal(<-e.Err())
}
jaten@jatens-MacBook-Pro ~/etcd-embed $
if I change go.mod to
module github.com/glycerine/etcd-embed
require go.etcd.io/etcd/v3 v3.4.13
go 1.14
I get the equally mystifying
jaten@jatens-MacBook-Pro ~/etcd-embed $ go build
go: go.etcd.io/etcd/[email protected]: go.mod has non-.../v3 module path "go.etcd.io/etcd" (and .../v3/go.mod does not exist) at revision v3.4.13
jaten@jatens-MacBook-Pro ~/etcd-embed $