一尘不染

在AWS Lambda上使用nodejs“ ref”模块时,“ ELF头无效”

node.js

我刚刚将一个zip文件上传到AWS Lambda,其中包含“
ref”(https://www.npmjs.com/package/ref),这是验证iOS
Game Center身份验证令牌如何对GameCenter用户进行身份验证所必需的来自第三方的node.js服务器。

不幸的是,调用它会导致“无效的ELF标头”错误,

{
  "errorMessage": "/var/task/node_modules/ref/build/Release/binding.node: invalid ELF header",
  "errorType": "Error",
  "stackTrace": [
    "Module.load (module.js:356:32)",
    "Function.Module._load (module.js:312:12)",
    "Module.require (module.js:364:17)",
    "require (module.js:380:17)",
    "bindings (/var/task/node_modules/ref/node_modules/bindings/bindings.js:76:44)",
    "Object.<anonymous> (/var/task/node_modules/ref/lib/ref.js:5:47)",
    "Module._compile (module.js:456:26)",
    "Object.Module._extensions..js (module.js:474:10)",
    "Module.load (module.js:356:32)",
    "Function.Module._load (module.js:312:12)"
  ]
}

这是在运行优胜美地的64位Macbook
Pro上开发的,在本地运行代码没有问题。到处搜寻“无效的ELF标头”并没有产生多少相关结果,而且我真的不确定从这里去哪里。我最好在node.js区域中问这个问题,还是这个相关领域,因为这可能是平台的问题?


阅读 360

收藏
2020-07-07

共1个答案

一尘不染

当您在一种体系结构上构建,然后尝试在不同体系结构(在某些情况下为平台)上使用相同的内置插件时,就会发生这种情况。

根据此页面,可能必须针对EC2上的AmazonLinux映像编译插件,以使编译后的插件可以在其Lambda服务上使用。

2020-07-07