2017-07-07 134 views
0

當我試圖在aws lambda中執行此操作時,我在以下行得到了Error: spawn EACCES錯誤。Aws lambda二進制文件EACCES錯誤

var zip = childProcess.spawn('zip', [ 
     '-r', 
     job.destination.name, 
     './' 
    ], { 
     cwd: temporaryDirectoryPath 
    }); 

我有一個二進制文件'zip'。

完整的錯誤跟蹤:

Error: spawn EACCES 
at exports._errnoException (util.js:1018:11) 
at ChildProcess.spawn (internal/child_process.js:319:11) 
at Object.exports.spawn (child_process.js:378:9) 
at createCompressedFile (/var/task/index.js:141:32) 
at /var/task/node_modules/async/lib/async.js:718:13 
at iterate (/var/task/node_modules/async/lib/async.js:262:13) 
at /var/task/node_modules/async/lib/async.js:274:29 
at /var/task/node_modules/async/lib/async.js:44:16 
at /var/task/node_modules/async/lib/async.js:723:17 
at /var/task/node_modules/async/lib/async.js:167:37 
+0

這很可能是由'cwd:temporaryDirectoryPath'造成的,當你的進程運行的用戶無法訪問'temporaryDirectoryPath'時。 – robertklep

+0

創建在每一個實例目錄與此線'變種的mkdir = childProcess.spawn( 'MKDIR',[ temporaryDirectoryPath ],{ CWD:__dirname });' – NPCRNPCR

+0

和'temporaryDirectoryPath = path.join('/ tmp',context.awsRequestId);' – NPCRNPCR

回答

0

最後,它爲我工作。所以像EACCES,ENOEN等所有錯誤都消失了。

child_process.spawnSync('mybinary', [], { 
    shell: true 
}) 
相關問題