Node.js Aws lambda二进制文件EACCES错误
当我试图在aws lambda中执行此操作时,在下面的一行中出现了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
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。