在AWS Lambda上使用nodejs“ref”模块时出现“invalid ELF header”

我刚刚上传了一个包含“ref”( https://www.npmjs.com/package/ref )的AWS Lambda,这是validationiOS Game Center身份validation令牌所必需的( 如何validationGame Center用户来自第三方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)" ] } 

这是在运行Yosemite的64位Macbook Pro上开发的,在本地运行代码时没有问题。 谷歌search“无效的ELF标题”一直没有得到相关的结果,我真的不知道该从哪里去。 在node.js区域,我会更好地问这个,还是这是相关的领域,因为这可能是平台的问题?

当您在一个体系结构上构build,然后尝试在不同的体系结构(或某些情况下,使用平台)上使用相同的内置附加组件时,会发生这种情况。

根据此页面 ,插件可能必须针对EC2上的Amazon Linux映像进行编译,以便编译的插件在其Lambda服务上可用。