EACCES:Node JS拒绝权限

时间:2018-12-19 07:05:11

标签: node.js fs file-access

使用Node.js写入文件(文件名为book)时出现以下错误,请您帮忙?

Error: EACCES: permission denied, open '/book'
    at Object.openSync (fs.js:443:3)
    at Object.writeFileSync (fs.js:1163:35)
    at Object.<anonymous> (/home/ubuntu/remoteserver/ionicappGate.js:375:6)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)

代码如下

const fs = require('fs');
const path = "/book";

//do whatever required after initialize
fs.writeFileSync(path, "hello book");
app.use("/", router);

app.listen(4000, () => console.log('Platform Server running on port 4000'))

3 个答案:

答案 0 :(得分:1)

您正在尝试写入文件系统“ / book”的根目录。这可能是写保护的(Linux中的默认设置)。如果确实要写入该目录,请检查以确保运行节点进程的用户具有对该文件夹的写入权限。否则,请更改为相对于脚本的路径,例如./book,并再次确保运行节点进程的用户对该文件夹具有写权限。

答案 1 :(得分:0)

我希望下面的脚本命令可以解决您的问题:

 chmod -R 755 book/* 

答案 2 :(得分:0)

尝试使用 fs.access(path[, mode], callback) 检查文件的权限。

还要检查您的文件夹权限。详细了解文件系统权限here