在 Go 1.11 中使用 Go 模块部署 Google Cloud Functions
Go 模块为 Go 项目提供了一种现代化的依赖管理方法。然而,当使用 go 模块部署 Go 1.11 中的 Google Cloud Functions 时,会出现某些挑战。
挑战:不兼容的模块解析
Function Builder 更喜欢模块而不是供应商的依赖项。但是,当部署引用父目录中的模块的函数时(例如,使用替换指令),构建器会由于在函数的隔离环境中找不到该模块而失败。
解决方案:供应商和排除模块
要解决此问题,建议使用供应商依赖项而不是使用模块。此外,在部署过程中应排除 go.mod 和 go.sum 文件。
这可以通过在函数目录中创建 .gcloudignore 文件来实现,如 Google 文档中所述:
.gcloudignore go.mod go.sum
通过忽略这些文件,Function Builder 会将它们从部署包中排除,确保使用供应商的依赖项而不是模块。
注意: 确保“go” modvendor”和“go mod verify”命令在部署之前在本地成功完成,以验证所有依赖项是否已正确供应。
以上是如何在 Go 1.11 中使用 Go 模块部署 Google Cloud Functions:解决依赖冲突?的详细内容。更多信息请关注PHP中文网其他相关文章!