title: Why does node-sass fail on npm rebuild?
body: <p>Working on a ruby project that's using node/webpack and all has been fine but today I've spun it up and get the following error:</p>
  
  <p>"ERROR in ./node_modules/css-loader??ref--2-2!./node_modules/postcss-loader/lib??ref--2-3!./node_modules/resolve-url-loader??ref--2-4!./node_modules/sass-loader/lib/loader.js??ref--2-5!./app/javascript/stylesheets/homepage.scss"</p>
  
  <p>I haven't updated the project nor changed anything locally as far as I'm aware so am pretty confused how this error has started, but either way I did some research of what to do and the consensus seems to be to run:</p>
  
  <pre><code>npm rebuild node-sass
  </code></pre>
  
  <p>However when I do this I get a bunch of errors like this:</p>
  
  <pre><code>c++ '-DNODE_GYP_MODULE_NAME=libsass' '-DUSING_UV_SHARED=1' '- 
  DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-        
  DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-    
  D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '- 
  D_FILE_OFFSET_BITS=64' '-DOPENSSL_THREADS' '-DLIBSASS_VERSION="3.5.4"' 
  -I/Users/username/.node-gyp/12.6.0/include/node - 
  I/Users/username/.node-gyp/12.6.0/src -I/Users/username/.node- 
  gyp/12.6.0/deps/openssl/config -I/Users/username/.node- 
  gyp/12.6.0/deps/openssl/openssl/include -I/Users/username/.node- 
  gyp/12.6.0/deps/uv/include -I/Users/username/.node- 
  gyp/12.6.0/deps/zlib -I/Users/username/.node- 
  gyp/12.6.0/deps/v8/include -I../src/libsass/include  -Os -gdwarf-2 - 
  mmacosx-version-min=10.7 -arch x86_64 -Wall -Wendif-labels -W -Wno- 
  unused-parameter -std=c++11 -stdlib=libc++ -fno-strict-aliasing -MMD - 
  MF 
  ./Release/.deps/Release/obj.target/libsass/src/libsass/src/ast.o.d.raw   
  -c -o Release/obj.target/libsass/src/libsass/src/ast.o 
  ../src/libsass/src/ast.cpp
  </code></pre>
  
  <p>and like this:</p>
  
  <pre><code>"/Users/username/.node-gyp/12.6.0/include/node/v8config.h:311:29: 
  note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))"
  </code></pre>
  
  <p>And then the following error summary:</p>
  
  <pre><code>10 warnings and 8 errors generated.
  make: *** [Release/obj.target/binding/src/binding.o] Error 1
  gyp ERR! build error 
  gyp ERR! stack Error: `make` failed with exit code: 2
  gyp ERR! stack     at ChildProcess.onExit         
  (/Users/username/projects/shopfront/node_modules/node-        
  gyp/lib/build.js:262:23)
  gyp ERR! stack     at ChildProcess.emit (events.js:203:13)
  gyp ERR! stack     at Process.ChildProcess._handle.onexit     
  (internal/child_process.js:272:12)
  gyp ERR! System Darwin 18.2.0
  gyp ERR! command "/usr/local/Cellar/node/12.6.0/bin/node" 
  "/Users/username/projects/shopfront/node_modules/node- 
  gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "-- 
  libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
  gyp ERR! cwd /Users/dylantucker/projects/prs-insight-        
  ui/node_modules/node-sass
  gyp ERR! node -v v12.6.0
  gyp ERR! node-gyp -v v3.7.0
  gyp ERR! not ok 
  Build failed with error code: 1
  npm ERR! code ELIFECYCLE
  npm ERR! errno 1
  npm ERR! node-sass@4.9.2 postinstall: `node scripts/build.js`
  npm ERR! Exit status 1
  npm ERR! 
  npm ERR! Failed at the node-sass@4.9.2 postinstall script.
  npm ERR! This is probably not a problem with npm. There is likely 
  additional logging output above.
  </code></pre>
  
  <p>npm version is 6.9.0
  node version is 12.6.0</p>
  
  <p>Many thanks</p>