当前位置: 首页 > 面试题库 >

尝试使用Go模块在Go 1.11中部署Google Cloud功能时出错

彭成天
2023-03-14
问题内容

我在尝试使用Go模块在Go 1.11中部署Google云功能时遇到问题。我的代码结构如下GOPATH

└── example
    ├── models
    │   ├── go.mod
    │   └── models.go
    └── load
        ├── fn.go
        ├── go.mod
        ├── go.sum
        └── vendor
            └── ....

load / go.mod如下所示:

module github.com/example/load

require (
    github.com/example/models v0.0.0
)

replace github.com/example/models => ../models

当我尝试使用命令部署功能时

gcloud functions deploy load-data --entry-point GCSNewFileTrigger --runtime go111 --trigger-resource new_data --trigger-event google.storage.object.finalize

我收到以下错误:

Deploying function (may take a while - up to 2 minutes)...failed.                                                                                                                                                                     
ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Build failed: go: parsing /models/go.mod: open /models/go.mod: no such file or directory
go: error loading module requirements

命令go mod vendorgo mod verify在本地成功运行,我可以modelsload


问题答案:

与制造商相比,制造商更喜欢使用模块。如果有go.mod,将使用模块。当您上载函数时,它仅包含函数所在目录的目录,而不包含上一级目录。因此,当有一个go.mod并且您有一个向上一级的替换指令时,它将不起作用。

解决方案是针对供应商,而不是上载go.mod/
go.sum文件。使用时gcloud,您可以创建一个.gcloudignore文件来为您执行此操作。有关更多详细信息,请参见https://cloud.google.com/functions/docs/concepts/go-
runtime#specifying_dependencies

免责声明:我在Google和此产品上工作。



 类似资料:
  • 我已经成功地部署了这三个功能几个月了,现在它突然开始绊倒我。我已经有一段时间没有更改节点、npm或Firebase cli版本了。我升级了函数目录中的npm包,急于解决这个问题,但运气不好。为什么会发生这种情况?回购(悬浮滑板-v2分支):https://github.com/gdgfresno/valleydevfest2017/tree/hoverboard-v2/functions Ubun

  • 我试图上传一个图像到内存使用multer,然后处理它与夏普和保存到磁盘。当我尝试在我的中间件中做多个module.exports时。 错误是: TypeError FileUpload.Single不是函数 到目前为止的路线是: 当我刚刚有下面的路由之前,尝试添加图像处理,我没有得到一个错误;

  • 我有以下设置,我试图创建一个多功能GCP云功能项目,但我未能部署任何功能,因为一个“通用”错误,这一点都不太有帮助。 我的项目结构是这样的,为了保持简单,我只写了函数1,但是有一个函数2,等等。 使用Cloud Functions支持和支持 项目结构: 代码片段: references使用GCP应该能够解析的go模块导入语法。 要部署我称之为gCloud的函数,请从项目的根目录: 我收到的错误是

  • 我发现了错误,我正在查看以下文档:https://www.npmjs.com/package/truffle-contract 每当我调用deploy函数时,我就会收到这个错误。 下面是调用deployment()方法时得到的错误 错误:未处理的rejectionNode错误:{“消息”:“不支持方法[object object]”,“代码”:-32000,“数据”:{“堆栈”:“错误:不支持方法

  • 我试图用一个非常简单的web应用程序来演示Weblogic的“生产重新部署”功能。我遇到了一个错误:“以前尝试的部署不允许更改源位置。” 这正是我所做的: 0)我在本地机器上的Weblogic中配置了一个AdminServer,没有当前部署,构建了一个非常简单的webapp,其中包含几个JSP,用于将内容放入会话,打包了一个版本,将0.4放入会话并显示,另一个版本将0.5放入会话并显示。 1) 安

  • 问题内容: 关于使用/的最佳实践,我有一个非常基本的问题。我有一个像这样的简单函数(DAO) 并在Web服务中使用DAO功能: OR最好在DAO函数中使用/,如下所示: 问题答案: 没有完美的规则。 如果需要尽早但尽可能晚地捕获异常,通常代码会更清晰,更简单。 您应该考虑在发生这种情况时谁必须采取行动,这决定了您是在方法(addVehicle)内进行操作还是调用方必须执行该操作。 例如: 在此示例