我刚刚将一个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区域中问这个问题,还是这个相关领域,因为这可能是平台的问题?
当您在一种体系结构上构建,然后尝试在不同体系结构(在某些情况下为平台)上使用相同的内置插件时,就会发生这种情况。
根据此页面,可能必须针对EC2上的AmazonLinux映像编译插件,以使编译后的插件可以在其Lambda服务上使用。