EACCES: permission denied with Node JS
16,558
Solution 1
You're trying to write to the root of your file system "/book". This is probably write protected (default in Linux). If you really mean to write to that directory, check to make sure the user running the node process has write permissions to that folder. Otherwise, change to the path relative to the script such as ./book and again make sure the user running the node process has write permissions to that folder.
Solution 2
I hope the script command below may resolve your problem:
chmod -R 755 book/*
![lei lei](https://i.stack.imgur.com/dGkui.png?s=256&g=1)
Author by
lei lei
Updated on June 16, 2022Comments
-
lei lei about 2 years
I get below error when write a file (file name is book) with Node.js, could you please help?
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)
The code is as below
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'))