如何修复macOS上的node.js写入文件权限被拒绝的错误?
我设置node.js写入到本地文件夹中的文件,如下所示:
注:我已经使用sudo chmod 755 req.txt
和sudo 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', ...