Помилка: ENOENT: такого файлу чи каталогу немає, скандір


89

Я побудував програму з використанням jhipster, який є шлюзом мікросервісу, використовуючи cassandra db і використовуючи maven для побудови, яка добре будувалася після того, як scaffold.i запустив команду gulp для поточного перезавантаження ui.

я вніс зміни до панелі навігації та домашньої сторінки. який також працював у файлі та вніс деякі зміни у файли json домашньої та панелі навігації та внести незначні зміни, додавши вікно пошуку та інше.

не вдалося перезавантажити. Я зупиняю gutl & maven і перезапускаю їх. maven будує, але знову не завантажує сайт у localhost

коли я запустив ковток, це показує мені цю помилку.

 gulp
fs.js:952
  return binding.readdir(pathModule._makeLong(path), options.encoding);
                 ^

Error: ENOENT: no such file or directory, scandir '/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/vendor'
    at Error (native)
    at Object.fs.readdirSync (fs.js:952:18)
    at Object.getInstalledBinaries (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/extensions.js:121:13)
    at foundBinariesList (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/errors.js:20:15)
    at foundBinaries (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/errors.js:15:5)
    at Object.module.exports.missingBinary (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/errors.js:45:5)
    at module.exports (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/binding.js:15:30)
    at Object.<anonymous> (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/index.js:14:35)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)

Хтось може сказати мені рішення для цього


Яка версія вузла? node -v
Gaël Marziou

я використовую версію вузла 6.11.1
Діреш Будхіраджа

Відповіді:


229

Я іноді також отримую цю помилку під час запуску мого gulp-сервера. Моє обхідне рішення - просто запустити:

npm rebuild node-sass

А потім після цього добре починається ковток.


1
Я отримав ту ж помилку під час спроби запустити веб-сайт KeystoneJS за допомогою $ node keystone, і ваше обхідне рішення вирішило помилку. Дякую
користувач3405291

1
Я отримав помилку "Помилка: ENOENT: немає такого файлу або каталогу, скандир" ** / node_modules / node-sass / vendor ', це рішення допомогло мені її вирішити. Дякую.
Gunarathinam

1
Дякую. У мене така сама проблема в Angular project і вирішена за допомогою цієї команди. Нова "установка в npm" не може виправити мою помилку. Здається, проблема у старій версії "node-sass". github.com/sass/node-sass/issues/1918
Jie

2
У моєму випадку (в Linux) потрібно було попередньо завантажити інсталятор "nodejs node_modules / node-sass / scripts / install.js", а потім відновити
lexa-b

1
це спрацювало для мене. Я використовую webpack, і я все ще braintree-dropin, коли все перестало працювати! Дякую!
Усама Ібрагім

27

Ось, що мені вдалося

$npm update
$npm install
$node node_modules/node-sass/scripts/install.js
$npm rebuild node-sass

2
це працює для мене, за винятком рядка 3, я замінив "nodejs" на просто "node"
сільський житель

попередньо встановлені сценарії не виконуються під час встановлення. працює і для мене. просто замінено на глобальний каталог встановлення :)
Мукундхан,

3
node node_modules / node-sass / scripts / install.js теж працює.
vr_driver

якщо ви з якихось причин раніше працювали: npm config set ignore-scripts true тоді прив'язка вузла не буде встановлена. Це були мої проблеми, і я працював: node node_modules/node-sass/scripts/install.js виправлено мою проблему
Мортен Ельмгольт Бак,

так. Що сказав @vr_driver. Біг просто node node_modules/node-sass/scripts/install.jsпрацював для мене Дякую за це!
Аріелла

4

Деякі файли можуть бути недоступні в локальній версії NodeJS, а іноді NodeJS не надсилає про це повідомлення. У цьому випадку --forceкорисно.

npm install node-sass --force

або

npm rebuild node-sass --force

4

Для мого випадку це допомагає лише після виконання цієї команди:

node node_modules/node-sass/scripts/install.js

І тоді буде /node_modules/node-sass/vendorпапка


2

Це проблема зі старішою версією node-sass. Це не створює vendor folderв node_modules/node-sass. Я оновив версію node-sass, і вона у мене справно працювала.

Моя стара версія node-sass була 3.1.0

Я просто зробив:

npm встановити node-sass@3.7.0

Це також має вирішити вашу проблему.


2

Я щойно виправив цю помилку. Це було тому, що я намагався запустити проект з неправильної папки.


1

Каталог постачальника створюється під час встановлення npm. Спробуйте видалити node_modules і запустити npm install.


1

Переконайтеся, що у вас є файл config.json. Потім виконайте npm installі npm start.

Це може спричинити цю помилку, якщо у вас немає цього конфігураційного файлу.



0

Не потрібно видаляти вузлові модулі, оскільки через вашу версію sass-loader вона відрізняється

  1. Видаліть package-lock.json
  2. npm видалити node-sass --save
  3. npm i node-sass --save
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.