我正在嘗試部署一個用 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: 03a1e2f7nimbus 是我的本地依賴,它具有以下結構:我的函數存儲庫具有以下結構:我的 go.mod 文件是:module my_functiongo 1.13require nimbus v0.0.0-00010101000000-000000000000replace nimbus => ../../../nimbus我已經嘗試過這個解決方案https://stackoverflow.com/questions/5441096。但這并沒有解決我的問題。我已經嘗試了一切來解決這個問題,但似乎沒有任何效果。
2 回答

LEATH
TA貢獻1936條經驗 獲得超7個贊
如果你有一個 go.mod 文件和一個 vendor 目錄,那么當你部署你的函數時,vendor 目錄將被忽略。
https://cloud.google.com/functions/docs/writing/specifying-dependencies-go
我在 Go 中部署 GCP 功能時使用了模塊。沒有遇到任何問題。但我不能說使用 vendor/ 的偏好。它應該可以工作,只是沒有 go.mod 文件。

青春有我
TA貢獻1784條經驗 獲得超8個贊
原來這個問題非常復雜,我希望谷歌能找到一個解決方案。
通過使用 Cloud Build 部署我的函數,它將從我在 Google Source 上的存儲庫中讀取,但是,通過從那里讀取,它將繞過 .gcloudignore 文件并使用我的本地代碼部署 go.mod/sum 文件和供應商目錄。
如https://stackoverflow.com/a/62050872/10316247所述:
如果你有一個 go.mod 文件和一個 vendor 目錄,那么當你部署你的函數時,vendor 目錄將被忽略。
因此,由于我的 go.mod 無法找到本地存儲庫,因此會發生錯誤。
我的解決方案是重命名我的 go.mod/sum 文件,這樣就不會考慮:
- 2 回答
- 0 關注
- 126 瀏覽
添加回答
舉報
0/150
提交
取消