在Lambda上运行node_modules二进制文件?

时间:2017-04-20 02:09:40

标签: aws-lambda

我尝试使用mozjpeg压缩Lambda上的图像,但是遇到了一些问题。

二进制文件没有执行权限,因此我收到此错误:

"exports._errnoException (util.js:870:11)",
"ChildProcess.spawn (internal/child_process.js:298:11)",
"Object.exports.spawn (child_process.js:362:9)",
"ret.catch.module.exports.promise (/var/task/node_modules/imagemin-mozjpeg/node_modules/exec-buffer/node_modules/execa/index.js:132:26)",
"/var/task/node_modules/imagemin-mozjpeg/node_modules/exec-buffer/index.js:36:15"

当我尝试修复权限时,出现此错误:

 'chmod: changing permissions of ‘/var/task/node_modules/imagemin-mozjpeg/node_modules/mozjpeg/vendor/cjpeg’: Read-only file system\n'

有没有办法让node_modules中的二进制文件执行,或者在没有nodejs包装器的情况下从tmp目录手动执行它们的替代方法?

1 个答案:

答案 0 :(得分:0)

您需要确保用于压缩文件的方法包括以Unix格式保留或设置执行权限。当文件从S3解压缩时,它们将被保留。