我的应用程序使用 Appengine 的开发软件运行良好。当我尝试部署时,出现此错误:
main.go:11: 找不到导入:“github.com/afoo/cohort/models”
我的文件夹结构如下所示,其中 afoo 是“标准” src/github.com 设置的子目录,在 GOPATH 中引用:
app.yaml 文件非常简单:
application: application-id
version: 1
runtime: go
api_version: go1
handlers:
- url: /styles
static_dir: styles
- url: /scripts
static_dir: scripts
- url: /.*
script: _go_app
main.go 文件包含我定义的 URL 处理函数,例如:
func init() {
// Register a handler for /.
http.HandleFunc("/", MapNetworkHandler)
}
main.go 中的模块导入是完全限定的,如下所示:
"github.com/afoo/cohort/models"
Google 群组从 2014 年开始进行了长时间的讨论,试图解释正确的文件夹设置。它位于这里:
https://groups.google.com/forum/#!searchin/google-appengine-go/init/google-appengine-go/dNhqV6PBqVc/Pm2HBrhdCAAJ
从那次讨论中,我了解到我需要将所有模块(这里是模型、存储库和实用程序)与主文件夹分开。但随后有一些令人困惑的其他 .yaml 文件应该进入每个模块文件夹,没有描述它们的外观,以及对以某种方式导入其他所有内容的骨架 init (.go) 文件的暗示。
不管是好是坏,我都是通过例子学习的,我找不到对我有帮助的好例子。我肯定会很感激任何人可能知道的正确文件夹结构和补充文件的详细解释。
阿波罗的战车
相关分类