我正在使用Go + Revel + MongoDB关注this tutorial。但是当我启动应用程序时,我收到了这个错误:
The Go code api-go/app/init.go does not compile: undefined: revel.LoadConfig
当我在终端看时,以及其他错误。
ERROR 2016/10/18 17:15:06 build.go:108: # api-go/app
api-go/app/init.go:41: undefined: revel.LoadConfig
api-go/app/init.go:43: undefined: log in log.Fatalf
api-go/app/init.go:45: undefined: mongodb in mongodb.MaxPool
api-go/app/init.go:45: cannot assign to mongodb.MaxPool
api-go/app/init.go:46: undefined: mongodb in mongodb.PATH
api-go/app/init.go:46: cannot assign to mongodb.PATH
api-go/app/init.go:47: undefined: mongodb in mongodb.DBNAME
api-go/app/init.go:47: cannot assign to mongodb.DBNAME
api-go/app/init.go:48: undefined: mongodb in mongodb.CheckAndInitServiceConnection
我使用的是Mac Sierra。我的申请有什么问题?
答案 0 :(得分:1)
注释这一行:
//Config, err := revel.LoadConfig("app.conf")
//if err != nil || Config == nil {
// log.Fatalf("%+v",err)
//}
答案 1 :(得分:0)
当我看到你的错误时,我认为你应该在你的文件中添加“init.go”这段代码
import (
"log"
"github.com/revel/revel"
“myapp/app/models/mongodb”
)
这正好在你的init.go whitch的第一行包含“package”
接下来在您的代码中,您必须替换:
revel.LoadConfig("app.conf")
通过
revel.config.LoadContext("app.conf",ConfPaths)
其中confPaths是conf文件的字符串路径。在你的情况下,它可以是:
ConfPaths := "conf/"
或
ConfPaths := ""
答案 2 :(得分:0)
对我有用。进口:
import (
"github.com/melkor217/myapp/app/models/mongodb"
"github.com/revel/config"
"github.com/revel/revel"
"log"
)
加载配置:
Config, err := config.LoadContext("app.conf", revel.ConfPaths)