如何解决macOS上的node.js写入文件权限被拒绝的错误?
问题描述:
我设置的node.js写在其本地文件夹的文件这样:如何解决macOS上的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', ...
chmod 777路径/到/文件夹或查看文件GetInfo和设置访问权限 –