转到lib / pq打开方法,返回未定义:time.Until

时间:2019-01-12 04:41:55

标签: go

我遇到了 lib / pq GO软件包的奇怪问题。

尝试打开连接时,出现以下错误:

vendor/github.com/lib/pq/notify.go:790: undefined: time.Until

我检查了我的$ GOROOT,它的设置正确。 直到在Time包中定义。所有其他方法似乎都能正常工作,只是直到才破坏了构建。

我的$ GOPATH也已正确设置。

我看到 lib / pq 支持的最低版本是 1.8 ,我正在使用 1.11 对于我的一生,我不知道是什么原因造成的。经过研究后,看来大多数人都可以通过升级来解决此问题,但是我使用的是最新版本(我不想降级进行修复)。

以下相关的GO环境信息:

set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Jeff\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\Jeff\go
set GOPROXY=
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64

我的项目路径为:

/c/Users/Jeff/go/src/github.com/project/m1

main.go正在运行以下内容(导致错误)

func initDB(){
    var err error
    db, err = sql.Open("postgres", "dbname=mydb sslmode=disable")
    if err != nil {
        panic(err)
    }
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

  

Go 1.8 Release Notes

     

time

     

新功能Until是对类似的“自”功能的补充。


您要在Go 1.8之前提货time

go version命令的输出是什么?

清除所有缓存。例如,go clean -cache。搜索pkg文件time.a的出现。

重新安装time软件包,强制进行重建:go install -v -a time

重新安装lib/pq软件包,并强制进行重建:先将cd依次vendor/github.com/lib/pqgo install -v -a

系统上所有time.gotime.a文件在哪里?