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/* 
Share:
16,558
lei lei
Author by

lei lei

Updated on June 16, 2022

Comments

  • lei lei
    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'))