Error: ENOENT: no such file or directory, scandir

2020-05-15 15:19发布

问题:

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

回答1:

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.



回答2:

Please try below ..It worked for me

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



回答3:

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


回答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.



回答5:

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.



回答6:

Rebuilds node-sass for your repo

npm rebuild node-sass


回答7:

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



回答8:

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



回答9:

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



回答10:

Run following command.

For linux:

sudo npm rebuild node-sass

For windows:

npm rebuild node-sass