我在基于节点的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/
本身。我不知道该如何处理。希望您能提供帮助。
答案 0 :(得分:1)
添加我的评论作为答案,因为这似乎可以解决您的问题。
写到文件夹意味着您拥有写权限。您可能仍然缺少执行权限。
您可以使用chmod
模块中的fs
在Node中编辑权限。 Documentation can be found here.