Node.js enoint:没有这样的文件或目录,mkdir带有{recursive:true}

Node.js enoint:没有这样的文件或目录,mkdir带有{recursive:true},node.js,Node.js,在Ubuntu14.04上运行,节点版本为10.16.0 const logDirPath = path.normalize('/var/log/ab'); if (!fs.existsSync(logDirPath)) { console.log('log path:', logDirPath); fs.mkdirSync(logDirPath, { recursive: true }); } 结果: log path: /var/log/ab ENOENT: no such

在Ubuntu14.04上运行,节点版本为10.16.0

const logDirPath = path.normalize('/var/log/ab');
if (!fs.existsSync(logDirPath)) {
    console.log('log path:', logDirPath);
    fs.mkdirSync(logDirPath, { recursive: true });
}
结果:

log path: /var/log/ab
ENOENT: no such file or directory, mkdir '/var/log/ab'

好吧,我刚想出来。这是一个权限错误。来自节点的奇怪错误消息。

@151291嘿,伙计。您需要允许您的用户(该用户是您在启动计算机时登录的用户)能够写入目录。如果你没有做任何重要的事情,你可以做下面的事情:chmod-R 777/your/directory/here(如果你有敏感的东西,不要这样做,这不是很安全)