rebuild-node-sass
Rebuilds node-sass but only if needed
!NPMnpm-icon npm-url
!Build statusci-image ci-url !semantic-releasesemantic-image semantic-url
Use
npm install --save-dev rebuild-node-sass node-sass
Then before build (when
node-sass
is probably used), call rebuild-node-sass
to make sure it is ready{
"scripts": {
"prebuild": "rebuild-node-sass",
"build": "..."
}
}
Testing
To execute in a different environment, for example when working on Mac, we can install Mac Sass binarynpm install
and then switch to Dockerdocker run -v $PWD:/src -w /src -it node /bin/bash
which 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