如何修复macOS上的node.js写入文件权限被拒绝的错误?

我设置node.js写入到本地文件夹中的文件,如下所示:

注:我已经使用sudo chmod 755 req.txtsudo chmod 755 bodyhead.txt来设置文件的权限是可写的。

 fs.writeFile('/req.txt', req + '\r\n!ended!\r\n', function(err) { if(err) { return console.log(err); } }); fs.writeFile('/bodyhead.txt', bodyhead + '\r\n!ended!\r\n', function(err) { if(err) { return console.log(err); } }); 

并收到:

{ Error: EACCES: permission denied, open '/req.txt' errno: -13, code: 'EACCES', syscall: 'open', path: '/req.txt' }

以及

{ Error: EACCES: permission denied, open '/bodyhead.txt' errno: -13, code: 'EACCES', syscall: 'open', path: '/bodyhead.txt' }

我设置node.js写入文件的本地文件夹…

但是,您不写入本地文件夹,而是写入文件系统的根目录:

 fs.writeFile('/req.txt', ... ^ root of filesystem 

相反,从您正在编写的文件名中删除前导斜杠:

 fs.writeFile('req.txt', ... fs.writeFile('bodyhead.txt', ...