拉風(fēng)的咖菲貓
2022-01-04 13:38:23
我的應(yīng)用程序使用 Appengine 的開發(fā)軟件運行良好。當(dāng)我嘗試部署時,出現(xiàn)此錯誤:main.go:11: 找不到導(dǎo)入:“github.com/afoo/cohort/models”我的文件夾結(jié)構(gòu)如下所示,其中 afoo 是“標(biāo)準(zhǔn)” src/github.com 設(shè)置的子目錄,在 GOPATH 中引用:app.yaml 文件非常簡單:application: application-idversion: 1runtime: goapi_version: go1handlers: - url: /styles static_dir: styles - url: /scripts static_dir: scripts - url: /.* script: _go_appmain.go 文件包含我定義的 URL 處理函數(shù),例如:func init() { // Register a handler for /. http.HandleFunc("/", MapNetworkHandler)}main.go 中的模塊導(dǎo)入是完全限定的,如下所示: "github.com/afoo/cohort/models"Google 群組從 2014 年開始進行了長時間的討論,試圖解釋正確的文件夾設(shè)置。它位于這里:https://groups.google.com/forum/#!searchin/google-appengine-go/init/google-appengine-go/dNhqV6PBqVc/Pm2HBrhdCAAJ從那次討論中,我了解到我需要將所有模塊(這里是模型、存儲庫和實用程序)與主文件夾分開。但隨后有一些令人困惑的其他 .yaml 文件應(yīng)該進入每個模塊文件夾,沒有描述它們的外觀,以及對以某種方式導(dǎo)入其他所有內(nèi)容的骨架 init (.go) 文件的暗示。不管是好是壞,我都是通過例子學(xué)習(xí)的,我找不到對我有幫助的好例子。我肯定會很感激任何人可能知道的正確文件夾結(jié)構(gòu)和補充文件的詳細(xì)解釋。
1 回答

阿波羅的戰(zhàn)車
TA貢獻1862條經(jīng)驗 獲得超6個贊
對于項目文件夾中的代碼,使用相對于app.yaml.
所以如果你有:
- Folder: MyProject (can be inside GOPATH/github or any other place)
- app.yaml
- Folder: MyCode (package mycode)
- code1.go
- Folder: MySubCode (package mysubcode)
- code2.go
進口應(yīng)該是這樣的:
import (
"mycode"
"mycode/mysubcode"
)
請注意,您沒有指定 github 或任何位于app.yamlapp.yaml 下方或相同級別的for 代碼之上的任何內(nèi)容。
更新:我將項目文件夾保留在 GOPATH 之外。喜歡:
- ~ (user folder)
- GOPATH folder
- My GAE projects folder
MyProject1
這樣,它既可以從 GOPATH 的“github/ ”導(dǎo)入,也可以從相對于 app.yaml 的路徑導(dǎo)入,例如“myproject/ ”
- 1 回答
- 0 關(guān)注
- 257 瀏覽
添加回答
舉報
0/150
提交
取消