beego:在go1.10中在没设置GOPATH的情况下将不会工作

您好,我是一名beego框架使用者,在使用的过程中,当go的版本是1.10及其以上时,如果没有设置GOPATH,运行会报错:panic: you are in dev mode. So please set gopath, 通过查看源码:https://github.com/astaxie/beego/blob/master/utils/utils.go // GetGOPATHs returns all paths in GOPATH variable. func GetGOPATHs() []string { gopath := os.Getenv("GOPATH") if gopath == "" && strings.Compare(runtime.Version(), "go1.8") >= 0 { gopath = defaultGOPATH() } return filepath.SplitList(gopath) }

这里会比较当前go版本是否大于等于1.8,我感觉代码的意图是如果go版本大于1.8,即使没有设置GOAPTH,系统会获取一个默认的GOPATH,但是在实际的运行中,strings.Compare(runtime.Version(), "go1.8"),如果当前go版本是1.10,比较的结果是小于1.8,这应该与预期是不符合的。

这个问题在github的issue上也已经有人提出了,只不过还没有被修改。 https://github.com/astaxie/beego/issues/3050 麻烦您有空的时候关注一下,非常感谢。

已邀请:

要回复问题请先登录注册