登录
首页 >  Golang >  Go问答

使用模块替代云函数中的功能的方法

来源:stackoverflow

时间:2024-02-29 19:27:25 254浏览 收藏

今天golang学习网给大家带来了《使用模块替代云函数中的功能的方法》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我有一个谷歌云函数,它是存储库中的子目录。它使用设置菜单中的“带有源代码的目录”选项。我在部署时不断收到此错误:

Deployment failure:
Build failed: go: parsing /utils/pubsub/go.mod: open /utils/pubsub/go.mod: no such file or directory
go: error loading module requirements

我假设 gcf 不会将整个目录上传到实例,而只是上传文件夹?这破坏了 go 模块的替换功能。我是不是做错了什么?

存储库链接:https://github.com/freekingdean/jeffbotgo/tree/5d735cc/slackevent


解决方案


我在 Google 工作并负责此产品。

仅上传运行 gcloud 的目录。除了压缩当前目录并上传之外,没有任何暂存步骤。

值得注意的是,构建者比供应商更喜欢模块。如果有 go.mod,将使用模块。当您上传函数时,它仅包含根目录下的函数目录,而不包含任何上一层目录。因此,当存在 go.mod 并且您有指向上一级的替换指令时,它将不起作用。

目前使用此布局的解决方案是供应商而不是上传 go.mod/go.sum 文件。使用 gcloud 时,您可以创建 .gcloudignore 文件来为您执行此操作。更多详情请参阅 https://cloud.google.com/functions/docs/concepts/go-runtime#specifying_dependencies。或者,修改您的项目以在子目录中包含任何必要的帮助程序包。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>