gpt4 book ai didi

google-app-engine - 为什么 go-app-builder 找不到本地进口?

转载 作者:IT王子 更新时间:2023-10-29 01:47:48 27 4
gpt4 key购买 nike

我目前正在用 Go 编写应用程序并尝试部署多个服务。我正在运行以下命令:gcloud app deploy dispatch.yaml app/app.yaml mod1/mod1.yaml

app.yaml 文件对应默认服务并成功部署但是服务 mod1 返回此错误:

ERROR: (gcloud.app.deploy) Error Response: [9] Deployment contains files that cannot be compiled: Compile failed: 2016/07/22 18:17:14 go-app-builder: build timing: 1×compile (53ms total), 0×link (0 total) 2016/07/22 18:17:14 go-app-builder: failed running compile: exit status 1

mod1.go:4: can't find import: "myapp/mod1/web_console"

My-Macbook: myapp$ gcloud app deploy dispatch.yaml app/app.yaml mod1/mod1.yaml

我的文件结构如下:

  • /我的项目
    • /源代码
      • /我的应用程序
        • /应用程序
          • app.go
          • 应用.yaml
        • /mod1
          • mod1.go
          • mod1.yaml
          • /web_console
            • web_console.go

mod1.go :

package mod1

import (
"myapp/mod1/web_console"
)

func init() {
// Initializing Web Console establishes connection
// to the database and also creates routes
var wc *web_console.WebConsole
wc = web_console.NewWebConsole(true)
wc.Configure()
}

mod1.yaml :

module: mod1
runtime: go
api_version: go1

handlers:
- url: /.*
script: _go_app

应用程序.yaml:

module: default
runtime: go
api_version: go1

handlers:
- url: /.*
script: _go_app

感谢您花时间提供帮助!

最佳答案

每个 GAE 服务/模块都是独立的,不能访问服务/模块目录之外的任何内容:

  • .yaml文件所在的目录
  • 是部署期间上传的内容
  • 被认为是该服务/模块的“根”目录,一切都与它相关

在您的特定情况下,您需要确保没有服务/模块引用父 myapp 目录(这只是应用程序内容的组织占位符,与您相关但 在 GAE 上没有实际存在)。我相信您的 mod1.go 导入应该如下所示:

package mod1

import (
"web_console"
)

但对它持保留态度,我实际上并不熟悉 go。

关于google-app-engine - 为什么 go-app-builder 找不到本地进口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38537417/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com