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

时间:2017-07-28 06:53:26

标签: node.js macos

我将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' }

1 个答案:

答案 0 :(得分:4)

  

我将node.js设置为在其本地文件夹中写入文件...

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

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

相反,请从您尝试编写的文件名中删除前导斜杠:

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