Node JS出现EACCES错误:权限被拒绝

4
当我使用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'))

你可以尝试给出绝对路径吗?例如 const path = "./book" 或者你可以尝试使用这个包 https://www.npmjs.com/package/path。 - Qubaish Bhatti
3个回答

10

你试图写入你的文件系统根目录 "/book"。在Linux中,这通常是受写保护的。如果你真的想要写入该目录,请检查运行node进程的用户是否具有该文件夹的写入权限。否则,请改为相对于脚本的路径,例如"./book",然后再次确保运行node进程的用户具有该文件夹的写入权限。


3
我希望下面的脚本命令可以解决您的问题:
 chmod -R 755 book/* 

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接