gcloud云函数部署失败代码13消息=执行环境失败”

问题描述 投票:0回答:6

使用

gcloud
部署云功能失败,并显示以下消息,

错误:(gcloud.beta.functions.deploy)操作错误:代码=13, message=执行环境失败

在云函数日志中找不到太多有关该错误的信息。

使用

--verbose debug
运行部署会跟踪 Cloud SDK 目录中调用的函数,并最终显示以下错误,

FunctionsError:操作错误:代码= 13,消息=失败 执行环境错误:(gcloud.beta.functions.deploy) 操作错误:代码=13,消息=执行环境失败

google-cloud-platform google-cloud-functions
6个回答
4
投票

根据此 Google Public Issue Tracker,该错误是由于非常大的 package.json 文件遇到内部限制造成的。可能的解决方法:

1- 在本地安装依赖项(通过“npm install”)并使用

--include-ignored-files
标志进行部署。

2- 将 package.json 减少到少于 4000 个字符

这是一个持续存在的问题,您可以关注此线程的讨论以获取相关更新。


1
投票

就我而言,这是一个Python环境,罪魁祸首是依赖项

yarl==1.5.1

由于没有日志,我无法确切说明为什么

yarl
导致损坏,但降级到
yarl==1.3.0
为我解决了这个问题。


0
投票

Firebase 的状态可以在以下位置找到: https://status.firebase.google.com/


0
投票

只是在这里分享我们的经验,希望对以后的人有所帮助。

在我们的例子中,我们遇到了类似的错误:

ERROR: (gcloud.beta.functions.deploy) OperationError: code=13, message=Error setting up the execution environment for your function. Please try deploying again after a few minutes.

这是由于在代码中导入

package.json
来读取版本造成的。即:

import { version } from '../package.json';

生成的 JS 代码的转译和本地调用按照我们代码库中上述行的预期工作。删除导入后,我们就可以部署 agian 函数了。


0
投票

一些 GCP 错误范围很广。

我的解决方案是我的

go.mod
文件有
go 1.14
,而 GCP 仅支持
go 1.11
go 1.13


0
投票

Node.js 环境的问题是它们将依赖项本地存储在项目目录中。
基本上,在部署函数之前,您需要先删除node_modules目录,然后将函数部署到云端。

© www.soinside.com 2019 - 2024. All rights reserved.