174

I scaffold an app using jhipster which is microservice gateway using cassandra db and using maven to build which was building fine after scaffold.i ran gulp command to for the live reload of ui.

i made a change slighlty in navbar and home page of it. which was also working file & made some changes in the json files of home & navbar & do some minor changes as adding the search box and other.

it failed to reload. I stop the gulp & maven & restarted them. maven is building but again not loading the site in localhost

when i ran gulp it is showing me this error.

 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)

Could anyone tell me solution for this

Dhiresh Budhiraja
  • 2,575
  • 5
  • 17
  • 26

13 Answers13

416

I sometimes also get this error when starting my gulp server. My workaround is to just run:

npm rebuild node-sass

And then gulp starts nicely afterward.

David Wickstrom
  • 5,048
  • 1
  • 19
  • 14
  • 1
    I was receiving the same error while trying to run a [KeystoneJS](http://keystonejs.com/getting-started/) website with `$ node keystone`, and your workaround solved the error. Thanks – Megidd Nov 04 '17 at 13:28
  • 3
    I got the error 'Error: ENOENT: no such file or directory, scandir '**/node_modules/node-sass/vendor', this solution helped me resolve it. Thanks. – Gunarathinam Jan 05 '18 at 08:56
  • 1
    Thanks. I have the same problem in Angular project and solved by this command. New "npm install" can't fix my error. It seems a problem in old "node-sass" version. https://github.com/sass/node-sass/issues/1918 – Jie Feb 24 '18 at 14:46
  • 2
    I my case (in linux), it was necessary to pre-download the installer "nodejs node_modules/node-sass/scripts/install.js" then rebuild – lexa-b Jun 04 '18 at 08:57
  • Good to know: I had this problem on my laptop a lot when switching between different versions of node (including different versions of most node packages). I was maintaining 2 versions of a web site from the same laptop. One site was old and based on Angular and the other site was based on React. And this specific problem went away when the old site was finally replaced I no longer had to switch between the two projects on my laptop. – David Wickstrom Jun 09 '18 at 11:37
  • 1
    this worked for me. I am using webpack and I still braintree-dropin when everything stopped working! Thank you! – Osama Ibrahim May 04 '20 at 17:51
50

Here's what worked for me

$npm update
$npm install
$node node_modules/node-sass/scripts/install.js
$npm rebuild node-sass
Machavity
  • 30,841
  • 27
  • 92
  • 100
11

For my case it helps only after doing this command:

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

And then there will be /node_modules/node-sass/vendor folder

Fes9L
  • 448
  • 4
  • 5
8

rebuild node-sass or just reinstall everything in case node-sass rebuild of doesn't work.

npm rebuild node-sass

or

rm -rf node_modules && npm install

or

npm rebuild

or

npm ci

or just delete node_modules manually and package-lock.json and run npm i

Shehan Hasintha
  • 947
  • 10
  • 10
7

Some files may not be available in the local version of NodeJS, and sometimes NodeJS does not send a message about it. In this case --force is helpful.

npm install node-sass --force

or

npm rebuild node-sass --force
Shapur
  • 498
  • 7
  • 17
6

I just fixed this error. It was because I was trying to run the project from the wrong folder.

Devin Haslam
  • 747
  • 2
  • 12
  • 34
4

The vendor directory is created during npm install. Try deleting your node_modules and running npm install.

4

It is a problem with older version of node-sass. It doesn't create vendor folder in node_modules/node-sass. I have updated the version of node-sass and it worked fine for me.

My older version of node-sass was 3.1.0

I simply did:

npm install node-sass@3.7.0

This should solve your problem as well.

yugantar kumar
  • 1,982
  • 1
  • 23
  • 33
1

Make sure you have the config.json file. Then do the npm install and npm start.

This might give this error if you don't have this config file.

Unheilig
  • 16,196
  • 193
  • 68
  • 98
shah
  • 81
  • 1
  • 6
1

No need to delete node modules, its because of your sass-loader version is different

  1. Delete package-lock.json
  2. npm uninstall node-sass --save
  3. npm i node-sass --save
Shikhara
  • 11
  • 2
1
  1. delete the node-sass folder from node\npm-cache
  2. npm rebuild node-sass
user1324418
  • 267
  • 1
  • 6
  • 14
1

I did the below code,

sudo npm rebuild node-sass
mvn clean install
Rajitha Bhanuka
  • 714
  • 10
  • 11
0

Update your gulp-sass in package.json with new version

"gulp-sass": "3.1.0" // 3.1.0 or later 

This is the link which i follow https://github.com/dlmanning/gulp-sass/issues/508

Richardson. M
  • 852
  • 2
  • 17
  • 28