Firebase部署函数失败(Linux):libc.so.6,GLIBC_2.28,节点需要



我正试图部署一个与模拟器在本地运行的函数,但在尝试部署时,请给我以下信息:

i  functions: creating Node.js 16 function <function-name>(us-central1)...
Build failed: node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28'
not found (required by node); Error ID: 653c7ba4
Functions deploy had errors with the following functions:
<function-name>(us-central1)
i  functions: cleaning up build files...
Error: There was an error deploying functions

到目前为止我尝试过的:

  1. 将我的节点版本从18降级到16。

    是的,我的package.json:中确实有这个

    "engines": {
    "node": "16"
    },
    
  2. 使用节点16从头开始重建所有内容。

我认为libc.so.6与Java有关,但我不知道这有什么帮助。这是我的java --version:

java 19 2022-09-20
Java(TM) SE Runtime Environment (build 19+36-2238)
Java HotSpot(TM) 64-Bit Server VM (build 19+36-2238, mixed mode, sharing)

我使用的是Archcraft,一个基于Arch Linux的发行版。

我刚刚意识到我可以共享我的整个回购,因为这是一个开源项目。给你。

我最终在各自的Github repo上发布了这条消息,因为我认为至少有一条更有用的错误消息会很好。

显然,我的错误是package.json中的node版本实际上是18.x.x,现在我回到了16.x.x,一切似乎都很好——我很困惑,因为我的全局node16.x.x。这个错误消息真的没有帮助。。。

此外,我不知道为什么,尽管我注册为southamerica-east1,但仍将默认部署到美国,但这完全是另一个问题。。。

最新更新