登录
首页 >  Golang >  Go问答

在 Google Cloud Functions 中使用 Go 供应商的本地存储库的方法

来源:stackoverflow

时间:2024-02-27 15:42:23 129浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《在 Google Cloud Functions 中使用 Go 供应商的本地存储库的方法》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我正在尝试部署用 go 编写的 google cloud function。

通过进行一些研究,我发现供应商文件比 go.mod 更受青睐,因此我供应我使用的所有内容(包括一些本地依赖项)并忽略 .gcloudignore 文件中的 go.mod/sum 文件。

问题是在尝试部署后,出现以下错误:

go: [email protected]: 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。但这并没有解决我的问题。

我已经尝试了一切方法来解决这个问题,但似乎没有任何效果。


解决方案


事实证明这个问题非常复杂,我希望Google尽快找到解决方案。

通过使用 Cloud Build 部署我的函数,它将从 Google Source 上的我的存储库中读取数据,但是,通过从那里读取数据,它将绕过 .gcloudignore 文件并使用我的代码部署 go.mod/sum 文件和供应商目录本地代码。

正如https://stackoverflow.com/a/62050872/10316247中所述:

如果您有 go.mod 文件和供应商目录,则在部署函数时将忽略供应商目录。

所以会发生错误,因为我的 go.mod 无法找到本地存储库。

我的解决方案是重命名我的 go.mod/sum 文件,这样就不会考虑它:

https://cloud.google.com/functions/docs/writing/specifying-dependencies-go

我在Go中部署GCP功能时使用了模块。没有遇到任何问题。但我不能谈论使用供应商/代替的偏好。它应该可以工作,只是没有 go.mod 文件。

以上就是《在 Google Cloud Functions 中使用 Go 供应商的本地存储库的方法》的详细内容,更多关于的资料请关注golang学习网公众号!

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