Rebuilds node-sass but only if needed
npm install --save-dev rebuild-node-sass node-sassThen before build (when node-sass is probably used), call rebuild-node-sass to make sure it is ready
{ "scripts": { "prebuild": "rebuild-node-sass", "build": "..." } }To execute in a different environment, for example when working on Mac, we can install Mac Sass binary npm install and then switch to Docker
docker run -v $PWD:/src -w /src -it node /bin/bashwhich produces the following output (abridged)
root@0d0cd593e320:/src# ./rebuild.sh npm info it worked if it ends with ok npm info using npm@5.0.0 npm info using node@v8.0.0 npm info ok /src/node_modules/node-sass/lib/binding.js:15 throw new Error(errors.missingBinary()); ... Binary found at /src/node_modules/node-sass/vendor/linux-x64-57/binding.node Testing binary Binary is fine node-sass@4.5.3 /src/node_modules/node-sass