Fehler: ENOENT: Keine solche Datei oder kein solches Verzeichnis, Scandir


83

Ich habe eine App mit Jhipster erstellt, einem Microservice-Gateway mit Cassandra DB, und Maven zum Erstellen, das nach dem Scaffold.I-Befehl gulp für das Live-Reload von UI einwandfrei funktioniert hat.

Ich habe eine leichte Änderung in der Navigationsleiste und auf der Homepage vorgenommen. Das war auch eine funktionierende Datei und nahm einige Änderungen in den JSON-Dateien von Home & Navbar vor. Nehmen Sie einige geringfügige Änderungen vor, indem Sie das Suchfeld und andere hinzufügen.

es konnte nicht neu geladen werden. Ich stoppe den Schluck & Maven & starte sie neu. maven baut, lädt aber die Site nicht in localhost

Wenn ich schlucke, zeigt es mir diesen Fehler.

 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)

Könnte mir jemand eine Lösung dafür sagen


Welche Version des Knotens? Knoten -v
Gaël Marziou

Ich benutze Node Version 6.11.1
Dhiresh Budhiraja

Antworten:


215

Manchmal wird dieser Fehler auch beim Starten meines Gulp-Servers angezeigt. Meine Problemumgehung besteht darin, einfach Folgendes auszuführen:

npm rebuild node-sass

Und dann beginnt der Schluck schön danach.


1
Beim Versuch, eine KeystoneJS- Website mit auszuführen, wurde derselbe Fehler angezeigt$ node keystone , und Ihre Problemumgehung hat den Fehler behoben. Danke
user3405291

Ich habe den Fehler 'Fehler: ENOENT: Keine solche Datei oder kein solches Verzeichnis, scandir' ** / node_modules / node-sass / vendor 'erhalten. Diese Lösung hat mir geholfen, das Problem zu beheben. Vielen Dank.
Gunarathinam

1
Vielen Dank. Ich habe das gleiche Problem im Angular-Projekt und wurde durch diesen Befehl gelöst. Neue "npm install" kann meinen Fehler nicht beheben. Es scheint ein Problem in der alten "Node-Sass" -Version zu sein. github.com/sass/node-sass/issues/1918
Jie

2
In meinem Fall (unter Linux) musste das Installationsprogramm "nodejs node_modules / node-sass / scripts / install.js" vorab heruntergeladen und dann neu erstellt werden
lexa-b

1
das hat bei mir funktioniert. Ich benutze ein Webpack und bin immer noch dabei, wenn alles nicht mehr funktioniert! Vielen Dank!
Osama Ibrahim

23

Folgendes hat bei mir funktioniert

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

2
Dies funktioniert für mich, außer in Zeile 3 habe ich "nodejs" durch nur "node" ersetzt
Dorfbewohner

Vorinstallationsskripte werden während der Installation nicht ausgeführt. funktioniert auch bei mir. gerade durch das globale Installationsverzeichnis ersetzt :)
Mukundhan

3
Der Knoten node_modules / node-sass / scripts / install.js funktioniert ebenfalls.
vr_driver

Wenn Sie aus irgendeinem Grund zuvor ausgeführt haben, wird npm config set ignore-scripts true die Knotenbindung nicht installiert. Dies war mein node node_modules/node-sass/scripts/install.js Problem und lief: mein Problem wurde behoben
Morten Elmholt Bak

Jaaa. Was @vr_driver gesagt hat. Laufen hat gerade node node_modules/node-sass/scripts/install.jsbei mir funktioniert Danke dafür!
Ariella

3

Einige Dateien sind in der lokalen Version von NodeJS möglicherweise nicht verfügbar, und manchmal sendet NodeJS keine Nachricht darüber. In diesem Fall --forceist hilfreich.

npm install node-sass --force

oder

npm rebuild node-sass --force

3

In meinem Fall hilft es erst nach diesem Befehl:

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

Und dann wird es /node_modules/node-sass/vendorOrdner geben


2

Es ist ein Problem mit der älteren Version von node-sass. Es schafft nicht vendor folderin node_modules/node-sass. Ich habe die Version von Node-Sass aktualisiert und es hat gut für mich funktioniert.

Meine ältere Version von Node-Sass war 3.1.0

Ich habe einfach getan:

npm install node-sass@3.7.0

Dies sollte auch Ihr Problem lösen.


1

Stellen Sie sicher, dass Sie die Datei config.json haben. Dann mach das npm installund npm start.

Dies kann zu diesem Fehler führen, wenn Sie diese Konfigurationsdatei nicht haben.


0

Das Herstellerverzeichnis wird während der npm-Installation erstellt. Versuchen Sie, Ihre node_modules zu löschen und auszuführennpm install .



0

Es ist nicht erforderlich, Knotenmodule zu löschen. Dies liegt an Ihrer Sass-Loader-Version

  1. Löschen Sie package-lock.json
  2. npm deinstalliere node-sass --save
  3. npm i node-sass --save

0

Ich habe diesen Fehler gerade behoben. Das lag daran, dass ich versucht habe, das Projekt aus dem falschen Ordner auszuführen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.