EACCES: в Node JS отказано в разрешении - PullRequest
0 голосов
/ 19 декабря 2018

Я получаю ошибку ниже при записи файла (имя файла book) с Node.js, не могли бы вы помочь?

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 голосов
/ 19 декабря 2018

Я надеюсь, что приведенная ниже команда сценария может решить вашу проблему:

 chmod -R 755 book/* 
0 голосов
/ 19 декабря 2018

Попробуйте проверить права доступа к файлу с помощью fs.access (путь [, режим], обратный вызов) .

Также проверьте права доступа к вашей папке.Подробнее о разрешениях файловой системы здесь

0 голосов
/ 19 декабря 2018

Вы пытаетесь записать в корень вашей файловой системы "/ book".Это, вероятно, защищено от записи (по умолчанию в Linux).Если вы действительно хотите писать в этот каталог, убедитесь, что у пользователя, выполняющего процесс узла, есть права на запись в эту папку.В противном случае измените путь относительно сценария, например ./book, и снова убедитесь, что пользователь, выполняющий процесс узла, имеет разрешения на запись в эту папку.

...