Fix “no such file or directory, scandir”

By  on  

After 15+ years in the web development industry, and seeing the landscape of tooling change, I've really lost patience with tooling errors. Like...Old Man Walsh™ just wants yarn install to work so he can get on with his work day.

One recent error I ran into was from a dependency of a dependency:

$ node development/build/index.js dev
internal/fs/utils.js:307
    throw err;
    ^

Error: ENOENT: no such file or directory, scandir '/Users/myuser/Projects/metamask-extension/node_modules/node-sass/vendor'
    at Object.readdirSync (fs.js:1021:3)
    at Object.getInstalledBinaries (/Users/myuser/Projects/metamask-extension/node_modules/node-sass/lib/extensions.js:133:13)
    at foundBinariesList (/Users/myuser/Projects/metamask-extension/node_modules/node-sass/lib/errors.js:20:15)
    at foundBinaries (/Users/myuser/Projects/metamask-extension/node_modules/node-sass/lib/errors.js:15:5)
    at Object.module.exports.missingBinary (/Users/myuser/Projects/metamask-extension/node_modules/node-sass/lib/errors.js:45:5)
    at module.exports (/Users/myuser/Projects/metamask-extension/node_modules/node-sass/lib/binding.js:15:30)
    at Object. (/Users/myuser/Projects/metamask-extension/node_modules/node-sass/lib/index.js:14:35)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32) {
  errno: -2,
  syscall: 'scandir',
  code: 'ENOENT',
  path: '/Users/myuser/Projects/metamask-extension/node_modules/node-sass/vendor'
}
error Command failed with exit code 1.

Annoying as hell -- I just want to work! After sifting through pages of obscure web forums, I was able to find a solution:

npm rebuild node-sass

The npm rebuild {package} call helped to fix the issue and got me back into the game!

Recent Features

  • By
    5 More HTML5 APIs You Didn’t Know Existed

    The HTML5 revolution has provided us some awesome JavaScript and HTML APIs.  Some are APIs we knew we've needed for years, others are cutting edge mobile and desktop helpers.  Regardless of API strength or purpose, anything to help us better do our job is a...

  • By
    Responsive and Infinitely Scalable JS Animations

    Back in late 2012 it was not easy to find open source projects using requestAnimationFrame() - this is the hook that allows Javascript code to synchronize with a web browser's native paint loop. Animations using this method can run at 60 fps and deliver fantastic...

Incredible Demos

  • By
    Create a Download Package Using MooTools Moousture

    Zohaib Sibt-e-Hassan recently released a great mouse gestures library for MooTools called Moousture. Moousture allows you to trigger functionality by moving your mouse in specified custom patterns. Too illustrate Moousture's value, I've created an image download builder using Mooustures and PHP. The XHTML We provide...

  • By
    Build a Toggling Announcement Slider Using MooTools 1.2

    A few of my customer have asked for me to create a subtle but dynamic (...I know...) way for them to advertise different specials on their website. Not something that would display on every page, but periodically or only the homepage. Using a trick...

Discussion

  1. Brian

    You yutes are so funny. When I was a kid, we had “error: too many trees in the forest” and my favorite “Error: No error.” (Um, then please, work?!)

    You’d think we’d have slightly better messages by now. Ok, to be fair, they are slightly better.

  2. A

    Thanks! It worked!

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!