go - 如何在 Google Cloud Functions with Go 中使用供应商的本地存储库
问题描述
我正在尝试部署一个用 Go 编写的 Google Cloud Function。
通过做一些研究,我发现供应商文件比 go.mod 更受欢迎,所以我出售我使用的所有东西(包括一些本地依赖项)并忽略 .gcloudignore 文件中的 go.mod/sum 文件。
问题是尝试部署后,我收到以下错误:
go: nimbus@v0.0.0-00010101000000-000000000000: parsing /nimbus/go.mod: open /nimbus/go.mod: no such file or directory; Error ID: 03a1e2f7
nimbus 是我的本地依赖,它具有以下结构:
我的函数存储库具有以下结构:
我的 go.mod 文件是:
module my_function
go 1.13
require nimbus v0.0.0-00010101000000-000000000000
replace nimbus => ../../../nimbus
我已经尝试过这个解决方案https://stackoverflow.com/questions/5441096。但这并没有解决我的问题。
我已经尝试了一切来解决这个问题,但似乎没有任何效果。
解决方案
如果你有一个 go.mod 文件和一个 vendor 目录,那么当你部署你的函数时,vendor 目录将被忽略。
https://cloud.google.com/functions/docs/writing/specifying-dependencies-go
我在 Go 中部署 GCP 功能时使用了模块。没有遇到任何问题。但我不能说使用 vendor/ 的偏好。它应该可以工作,只是没有 go.mod 文件。
推荐阅读
- ocaml - OCaml 共享约束
- c# - 实体框架包含元音和辅音问题
- python - Numpy - 声明一个特定的 nx1 数组
- c++ - 是否有在 Openg GL 中使用混合的 glCopyImageSubData 版本?
- javascript - Google Drive API 浏览器上传 PDF 空
- python-3.x - python中的硒异常输出
- python - “sys$stdout$flush() 中的错误:尝试应用非函数”
- javascript - 请求有效负载 - 可选的数据发送
- python - 从数字列 Pandas 中删除字符串值?
- swift - 在 Swift 中将随机元素设置为变量