gpt4 book ai didi

go - 由于找不到本地包,无法将 Go 应用程序部署到 GAE

转载 作者:行者123 更新时间:2023-12-01 22:05:57 28 4
gpt4 key购买 nike

我有一个简单的 Go 应用程序,具有以下文件夹结构

-myapp
-src
-main
main.go
main.yaml
-mypackage
mypackage.go
go.mod
main引用资料 mypackage . 去.mod 文件很简单
module github.com/myname/myapp

go 1.14

我可以使用 go build -o mymain -v ./src/main 构建应用程序一切正常。

问题是当我尝试将其部署到 Google Application Engine 时。
要部署我运行这些命令
export GOPATH=/Users/blah/blah/myapp
gcloud app deploy server.yaml

我得到了这个错误
Staging Flex app: failed analyzing /Users/blah/blah/myapp/src/main: cannot find package "github.com/myname/myapp/src/mypackage" in any of:
($GOROOT not set)
/Users/blah/blah/myapp/src/github.com/myname/myapp/src/mypackage (from $GOPATH)
GOPATH: /Users/blah/blah/myapp

知道我做错了什么吗?

最佳答案

您似乎在 App Engine Flex 部署中使用 go.mod。不幸的是,Flex Go 运行时目前不支持 Go 模块。

要解决此限制,您可以:

  • 使用支持使用 Go 模块的 App Engine Standard 进行部署。 ( reference )
  • 将 Go 模块缓存中的相应文件夹复制回 Go 路径。见 https://stackoverflow.com/a/55757526/11957811 .
  • “+1”并关注 Google Public Issue Tracker 以获取 Flex 支持 Go 模块的功能请求。见 https://issuetracker.google.com/147579198 .
  • 关于go - 由于找不到本地包,无法将 Go 应用程序部署到 GAE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61753249/

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