Почему ошибка при динамическом создании каталога в nodejs на сервере Ubuntu? - PullRequest
3 голосов
/ 02 апреля 2019

Я пытаюсь создать каталог в папке public / data для размещения моих прочитанных данных, но получаю эту ошибку при динамическом создании каталога в nodejs.

Error: ENOENT: no such file or directory, mkdir './public/data/folder'
    at Object.mkdirSync (fs.js:753:3)
    at /home/ubuntu/New/routes/index.js:589:14
    at FSReqWrap.oncomplete (fs.js:141:20)

Я реализовал свой код следующим образом: проверил, существует ли папка или нет, и создал папку, когда она не существует, с помощью mkdirsync()

var dd = './public/data/'+ id;
 if (!fs.existsSync(dd)) 
        {
          fs.mkdirSync(dd,'0777', true);
          console.log("Directory Created!!");
      }

Directory Created!!

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

mkdirSync принимает свойство опции recursive (по умолчанию false ). Проверьте руководство

Чтобы вы могли использовать:

fs.mkdirSync('/dir1/dir2', { recursive: true });
0 голосов
/ 02 апреля 2019

Это решенная проблема, запуск npm с правами root

Решение:

sudo npm install -g ИМЯ ПАКЕТА --unsafe-perm = true --allow-root

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...