错误:使用child_process调用节点文件在Node AWS Lambda函数中生成EACCES

时间:2019-01-07 15:30:57

标签: node.js permissions aws-lambda

我在基于节点的AWS Lambda函数中具有以下简化代码:

import { execFile } from 'child_process';
execFile('./node_modules/webp/bin/dwebp', ['./tmp/file.wepb', '-o', 
'./tmp/newFile.png'], (error, stdout, stderr) => {
  if (error) throw error;
});

如图所示,我在node_modules/webp/bin中有一个二进制文件,并用execFile调用它以将输出保存在文件夹./tmp/中,但出现错误{{ 1}}。也许我没有被拒绝访问文件夹Error: spawn EACCES,因为我的代码已成功在其中写入文件。我可能只被拒绝访问命令./tmp/本身。我不知道该如何处理。希望您能提供帮助。

1 个答案:

答案 0 :(得分:1)

添加我的评论作为答案,因为这似乎可以解决您的问题。

写到文件夹意味着您拥有写权限。您可能仍然缺少执行权限。

您可以使用chmod模块中的fs在Node中编辑权限。 Documentation can be found here.