我创建了一个节点函数,在其中使用 canvas 包发送图像(PNG)作为函数的响应。当我从本地计算机运行该函数时,该函数运行良好。但是当我尝试从开发环境执行该函数时,出现“无效的 ELF 标头”错误。有人可以帮我解决这个问题吗?
您收到此错误“无效的 ELF 标头”,因为 canvas 包会抛出错误“ERR_DLOPEN_FAILED”。
当加载本机附加模块或共享库出现问题时,Node JS 中通常会出现错误 ERR_DLOPEN_FAILED。此错误表明 Node JS 在尝试使用 dlopen() 方法动态加载共享库时遇到问题,如果缺少包,则可能会发生这种情况。
我怀疑,由于 Canvas 是一个 OS dependent 软件包,它可以在安装了相同软件包的本地计算机上运行,但由于 Catalyst 服务器 无法识别相同的软件包,因此出现 ERR_DLOPEN_FAILED 错误。这可能表明 Catalyst 服务器正在与您在本地计算机上使用的操作系统架构不同的操作系统架构上运行。
要解决此错误,您可以尝试安装基于 Catalyst 服务器操作系统架构的画布包,或者,我强烈建议您尝试使用适用于任何操作系统架构的不同(非依赖)包。