Node.js Aws lambda二进制文件EACCES错误

Node.js Aws lambda二进制文件EACCES错误,node.js,aws-lambda,Node.js,Aws Lambda,当我试图在aws lambda中执行此操作时,在下面的一行中出现了Error:spawn EACCES错误 var zip = childProcess.spawn('zip', [ '-r', job.destination.name, './' ], { cwd: temporaryDirectoryPath }); 我有一个二进制文件“zip” 完整错误跟踪: Error: spawn EACCES at e

当我试图在aws lambda中执行此操作时,在下面的一行中出现了
Error:spawn 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

最后,它对我起了作用。所以所有的错误,比如EACCES,enoon。。。他走了

child_process.spawnSync('mybinary', [], {
  shell: true
})

这很可能是由
cwd:temporaryDirectoryPath
引起的,当您的进程作为用户运行时,该用户无权访问
temporaryDirectoryPath
。我在每个实例中使用以下行创建该目录
var mkdir=childProcess.spawn('mkdir',[temporaryDirectoryPath],{cwd:uuu dirname})
临时目录路径=path.join('/tmp',context.awsRequestId);
创建目录时是否检查错误?FWIW,您可以使用而不是派生子进程来调用
mkdir
。是的。我有一个console.log。退出代码是0。