2017-04-20 62 views
1

我試圖使用mozjpeg壓縮Lambda上的圖像,但遇到一些問題。在Lambda上運行node_modules二進制文件?

二進制不具有執行權限,所以我得到這個錯誤:

"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中執行二進制文件,或者從tmp目錄中手動執行它們,而無需使用它們的nodejs包裝器呢?

+0

請顯示您的lambda代碼,以便我們可以看到您如何使用此庫。 – johni

回答

0

您需要確保用於壓縮文件的方法包括保留或設置Unix格式的執行權限。當文件從S3解壓縮後,它們將被保留。

相關問題