在我用Go編寫的Google App Engine項目中,我一直在使用例如如何正確導入Golang appengine?
import "appengine/datastore"
成功很長時間,並假設導入定位的東西,我有App Engine SDK。不過,現在我想用也從谷歌第三方庫,它使用從App Engine的東西爲好,但與全路徑進口:
import "google.golang.org/appengine"
運行App
$ goapp serve
失敗,不尋找appengine:
...go/src/golang.org/x/oauth2/client_appengine.go:16: can't find import: "google.golang.org/appengine/urlfetch"
Can't find package "google.golang.org/appengine" in $GOPATH
很明顯,我想使用相同的App Engine零件沒有其他問題。我的第一個通過是,我想告訴第三方庫使用App Engine SDK庫,但我不知道如何在導入中具有不同的前綴。
我應該在我的項目中使用所有App Engine導入的完整路徑嗎?這與我在Google的App Engine for Golang網頁上閱讀的內容完全相反。例如。 here。
一般來說,設置事物的方法是什麼,以便在App Engine和第三方庫的開發和生產過程中找到正確的appengine庫?
在此先感謝您的幫助!
UPDATE
我還可以看到添加第三方庫和運行go get
它獲取各種東西到$GOPATH/src/google.golang.org/api/...
後。很多東西和appengine等等。它似乎都是Golang的Google API ......!
所以它沒有解決,但我知道有一個變化,fully qualified appengine import paths更改。
現在我有我的應用程序在本地運行,因爲我拉入新的appengine以滿足使用新導入路徑的oauth庫。
go get google.golang.org/appengine
根據this:
如果你不想更新整個應用程序來使用新的App Engine的包,你可以使用兩套並行的包,只用了新的軟件包與oauth2包。
實際上很混亂,我不知道當我部署在App Engine上時有什麼可用的。有人知道嗎?
爲什麼downvote? – murrekatt
我很困惑。這解決了嗎?僅僅是因爲你從未獲得過你的依賴關係? – JimB
您是否嘗試過'導入「appengine」'?我假設Go應該從'$ GOPATH'中實現,而不明確指出完整路徑。 – PieOhPah