我遇到了 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)
}
}
任何帮助将不胜感激。
答案 0 :(得分:0)
新功能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/pq
和go install -v -a
。
系统上所有time.go
和time.a
文件在哪里?