Firebase Functions 部署需要在 GCP 中输入键盘



最近,在尝试部署我的Firebase Functions时,我收到以下错误:

...
functions[verify(us-central1)]: Deployment error.
Build failed: Build error details not available. Please check the logs at
...

基仕伯日志:

错误:获取/[0 文件][ 0.0 B/89.4 KiB]/[/[0 文件][ 0.0 B/89.4 KiB]/[膨胀:/workspace/./[0 文件][ 0.0 B/89.4 KiB]/[
>labels.build_stepresource.typeseveritytextPayload
构建信息存储时出错 源:通用::未知:重试预算已用尽(3 次尝试):获取 GCS 源:解压缩 来自 GCS 的源:源提取容器以非零状态退出:1
构建信息错误
gsutil:STDOUTbuildINFOArchive:/tmp/source-archive.zip
gsutil:STDERRbuildINFO(EOF 或读取错误,视为"[N]one" ...)
gsutil:STDERRbuildINFOreplace/workspace/.runtimeconfig.json?[y]es, [n]o, [A]ll, [N]one, [r]ename: NULL
gsutil:STDERRbuildINFO操作在 1 个对象/89.4 KiB 上完成。
gsutil:STDERRbuildINFO1 文件][ 89.4 KiB/89.4 KiB]
gsutil:STDERRbuildINFO复制 gs://gcf-sources-972818261280-us-central1/verify-d55557e5-9fcf-4a3d-b144-17690c85f5a1/version-182/function-source.zip#1611906282665422...
主要构建信息获取存储对象:gs://gcf-sources-972818261280-us-central1/verify-d55557e5-9fcf-4a3d-b144-17690c85f5a1/version-182/function-source.zip#1611906282665422
gsutil:STDERRbuildINFO(EOF 或读取错误,视为"[N]one" ...)
gsutil:STDERRbuildINFOreplace/workspace/.runtimeconfig.json?[y]es, [n]o, [A]ll, [N]one, [r]ename: NULL
gsutil:STDOUTbuildINFOArchive:/tmp/source-archive.zip
gsutil:STDERRbuildINFO操作在 1 个对象/89.4 KiB 上完成。
gsutil:STDERRbuildINFO1 文件][ 89.4 KiB/89.4 KiB]
gsutil:STDERRbuildINFO复制 gs://gcf-sources-972818261280-us-central1/verify-d55557e5-9fcf-4a3d-b144-17690c85f5a1/version-182/function-source.zip#1611906282665422...
主要构建信息获取存储对象:gs://gcf-sources-972818261280-us-central1/verify-d55557e5-9fcf-4a3d-b144-17690c85f5a1/version-182/function-source.zip#1611906282665422
gsutil:STDERR构建信息坏 CRC 4992186c(应为 00000000)
gsutil:STDOUTbuildINFOinflating:/workspace/tslint.json
gsutil:STDOUTbuildINFOinflating:/workspace/tsconfig.json
gsutil:STDOUTbuildINFOinflating:/workspace/src/index.ts
gsutil:STDOUTbuildINFO膨胀:/workspace/src/booking.mjml
gsutil:STDOUTbuildINFO膨胀:/workspace/src/booking.html
gsutil:STDOUTbuildINFO膨胀:/workspace/package.json
gsutil:STDOUTbuildINFO膨胀:/workspace/package-lock.json
gsutil:STDOUTbuildINFO膨胀:/workspace/lib/index.js.map
gsutil:STDOUTbuildINFO膨胀:/workspace/lib/index.js
gsutil:STDOUTbuildINFOruntimeconfig.json 膨胀:/workspace/.gitignore
gsutil:STDOUTbuildINFOArchive:/tmp/source-archive.zip
gsutil:STDERRbuildINFO操作在 1 个对象/89.4 KiB 上完成。
gsutil:STDERRbuildINFO1 文件][ 89.4 KiB/89.4 KiB]
gsutil:STDERRbuildINFO复制 gs://gcf-sources-972818261280-us-central1/verify-d55557e5-9fcf-4a3d-b144-17690c85f5a1/version-182/function-source.zip#1611906282665422...
主要构建信息获取存储对象:gs://gcf-sources-972818261280-us-central1/verify-d55557e5-9fcf-4a3d-b144-17690c85f5a1/version-182/function-source.zip#1611906282665422
构建信息获取源
主要构建信息起始构建 "f8f97fdd-29ff-4964-a080-26ba4bdd5705">

从节点 15 降级到节点 14 或节点 12 可以解决此问题。

我的环境:

我运行的是带有M1 ARM芯片的MacBook Air。我不知道它是否相关,但可能是。

已知有效的版本组合:

当前运行 v14.15.4 x64 和 Firebase-tools 9.2.2。这种组合似乎没有故障。

在确定这一点之前,我已经尝试了带有Firebase-tools 9.2.2的v12.20.1 x64,并且也有效。

我尝试过但失败的版本组合:

我已经尝试了节点 v15.6.0,arm64 和 x64,使用 firebase-tools 9.2.2、9.2.1、9.2.0、9.1.2 和 8.20.0,但没有成功。

还尝试了节点 v15.7.0 arm64 与 firebase-tools 9.2.2 没有成功。

在 M1 Mac 上获取这些

如果您像我一样使用的是 M1 Mac,您可能已经知道 v14 无法在 M1 中编译。对于不是 v15.5 或更高版本的任何内容,都需要使用 x64 版本。

有很多指南以及x64版本的官方NodeJS下载,可以在Rosetta 2上运行良好(不要尝试ARM版本,这些指南目前仅适用于Linux,不适用于Mac)。

如果您使用 nvm 来管理您的版本并希望同时安装 x64 和 arm64 版本,这就是我的做法:

让 x64 和 arm64 版本共存:

nvm install将添加节点版本。如果你对你的机器没有做任何特别的事情,那么nvm install 15应该为你工作。目前还没有 M1 的预编译二进制文件,因此请准备好等待几分钟(超过 10 分钟)。

要获得节点 14 设置,只需打开一个新的终端窗口并输入arch -x86_64 zsh,这将在 x64 模式下启动一个新的 zsh 进程。在同一终端类型上nvm install 14.这应该比 v15 快得多,并且根据您的互联网速度,只需几秒钟即可返回。一切就绪。关闭此终端选项卡,忘记它曾经存在过。

现在运行nvm use 15将设置节点运行 v15 arm64 版本,运行nvm use 14将运行 v14 x64 版本。

要检查节点版本,您可以运行node --version,要检查架构,您可以运行node -p "process.arch"

相关内容

  • 没有找到相关文章

最新更新