无法得到phantomjs在aws lambda上工作

我试图执行phantomjs使用node-lambda和我在网上find的零件主要是https://github.com/justengland/phantom-lambda-template

我在使用node43部署node-lambda时遇到了一些问题,但是手动安装最新的源代码在这方面似乎有所帮助。

但是现在我在运行lambda函数时遇到了麻烦。 我明白了

2016-04-12T16:47:12.133Z 3330adb9-00ce-11e6-9c08-d79a6bc84748 Calling phantom: /var/task/phantomjs [ '/var/task/phantomjs-script.js' ] 2016-04-12T16:47:12.236Z 3330adb9-00ce-11e6-9c08-d79a6bc84748 Error: spawn EACCES at exports._errnoException (util.js:870:11) at ChildProcess.spawn (internal/child_process.js:298:11) 

好像lambda不能访问幻像二进制文件。 有什么办法可以给这个函数更多的权限吗?

谢谢

此问题的原因可能是您将本地构建的二进制文件部署到AWS Lambda。 Lambda要求为Amazon Linux编译二进制文件 ,否则无法执行它们(除非您非常幸运)。

如果您正在调用任何可执行文件或使用二进制文件附带的库,则需要使用Amazon Linux在EC2计算机上编译它们,并在您的Lambda函数中使用结果。 这是一个非常基本的教程 。

如果你已经这样做,还要确保你使用的二进制文件是可执行文件(你可以通过调用chmod 777 your_executable )。 我想你已经这样做了(phantomjs应该照顾你的情况),但这是EACCES的主要错误来源。