2016-10-18 77 views
2

我在關注使用Go + Revel + MongoDB的this tutorial。但當我開始申請,我得到這個錯誤:我得到這個錯誤:undefined:revel.LoadConfig on revel app開始

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。我的應用程序有什麼問題?

error on browser

+1

你有你所有的進口都正確完成?例如,你有「登錄」你的進口? – Majonsi

+0

我是Go開發新手。你是指哪個文件?在控制器中,模型? –

+0

當我看到你的錯誤,我認爲你應該在你的文件「init.go」中加入這個代碼'import(「log」「github.com/revel/revel」「myapp/app/models/mongodb」)' init.go的第一行包含「package」 – Majonsi

回答

0

當我看到你的錯誤,我想你應該在你的文件中添加「init.go」這個代碼

 import ( 
     "log" 
     "github.com/revel/revel" 
     「myapp/app/models/mongodb」 
    ) 

這只是在你init.go的第一行包含whitch「包」

接下來在你的代碼必須更換:

revel.LoadConfig("app.conf") 

通過

revel.config.LoadContext("app.conf",ConfPaths) 

其中confPaths是您的conf文件的字符串路徑。在你的情況可能是:

ConfPaths := "conf/" 

ConfPaths := "" 
+0

現在錯誤更改爲'不能引用未導出的名稱revel.config' –

+0

和'revel.LoadConfig 「app.conf」)'說什麼? – Majonsi

+0

或嘗試'revel.Config.LoadContext(「app.conf」,ConfPaths)'改變是「Config」以大寫字母開頭,這意味着您可以在導入時從另一個軟件包訪問它 – Majonsi

1

評論這個線:

//Config, err := revel.LoadConfig("app.conf") 
//if err != nil || Config == nil { 
//  log.Fatalf("%+v",err) 
//} 
+0

它適合我!謝謝 –