title: npm ERR cb() never called
body: <p>I have a Node.js app hosted on Heroku. Every time I do a <code>git push heroku</code> I get the following error:</p>
  <pre><code>Counting objects: 14, done.
  Delta compression using up to 6 threads.
  Compressing objects: 100% (12/12), done.
  Writing objects: 100% (12/12), 1.20 KiB, done.
  Total 12 (delta 8), reused 0 (delta 0)
  
  -----&gt; Node.js app detected
  -----&gt; Resolving engine versions
         Using Node.js version: 0.6.20
         Using npm version: 1.2.12
  -----&gt; Fetching Node.js binaries
  -----&gt; Vendoring node into slug
  -----&gt; Installing dependencies with npm
         npm http GET https://registry.npmjs.org/pg/0.6.15
         npm http GET https://registry.npmjs.org/socket.io
         npm http 200 https://registry.npmjs.org/pg/0.6.15
         npm http GET https://registry.npmjs.org/pg/-/pg-0.6.15.tgz
         npm http 200 https://registry.npmjs.org/socket.io
         npm http GET https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
         npm http 200 https://registry.npmjs.org/pg/-/pg-0.6.15.tgz
         npm http 200 https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
         npm http GET https://registry.npmjs.org/socket.io-client/0.9.11
         npm http GET https://registry.npmjs.org/policyfile/0.0.4
         npm http GET https://registry.npmjs.org/base64id/0.1.0
         npm http GET https://registry.npmjs.org/redis/0.7.3
         npm http GET https://registry.npmjs.org/generic-pool/1.0.9
         npm http 200 https://registry.npmjs.org/policyfile/0.0.4
         npm http GET https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz
  
         npm http 200 https://registry.npmjs.org/base64id/0.1.0
         npm http GET https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
         npm http 200 https://registry.npmjs.org/generic-pool/1.0.9
         npm http GET https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.9
  .tgz
         npm http 200 https://registry.npmjs.org/socket.io-client/0.9.11
         npm http GET https://registry.npmjs.org/socket.io-client/-/socket.io-clie
  nt-0.9.11.tgz
         npm http 200 https://registry.npmjs.org/redis/0.7.3
         npm http GET https://registry.npmjs.org/redis/-/redis-0.7.3.tgz
         npm http 200 https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz
  
         npm http 200 https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
         npm http 200 https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.9
  .tgz
         npm http 200 https://registry.npmjs.org/socket.io-client/-/socket.io-clie
  nt-0.9.11.tgz
         npm http 200 https://registry.npmjs.org/redis/-/redis-0.7.3.tgz
  
         &gt; pg@0.6.15 install /tmp/build_36us8733h7kkr/node_modules/pg
         &gt; node-waf configure build || (exit 0)
  
         Checking for program g++ or c++          : /usr/bin/g++
         Checking for program cpp                 : /usr/bin/cpp
         Checking for program ar                  : /usr/bin/ar
         Checking for program ranlib              : /usr/bin/ranlib
         Checking for g++                         : ok
         Checking for node path                   : not found
         Checking for node prefix                 : ok /tmp/node-node-nNUw
         Checking for program pg_config           : /usr/bin/pg_config
         'configure' finished successfully (0.058s)
         Waf: Entering directory `/tmp/build_36us8733h7kkr/node_modules/pg/build'
         [1/2] cxx: src/binding.cc -&gt; build/Release/src/binding_1.o
         [2/2] cxx_link: build/Release/src/binding_1.o -&gt; build/Release/binding.no
  de
         Waf: Leaving directory `/tmp/build_36us8733h7kkr/node_modules/pg/build'
         'build' finished successfully (0.492s)
         npm http GET https://registry.npmjs.org/uglify-js/1.2.5
         npm http GET https://registry.npmjs.org/ws
         npm http GET https://registry.npmjs.org/xmlhttprequest/1.4.2
         npm http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1
         npm http 200 https://registry.npmjs.org/active-x-obfuscator/0.0.1
         npm http GET https://registry.npmjs.org/active-x-obfuscator/-/active-x-ob
  fuscator-0.0.1.tgz
         npm http 200 https://registry.npmjs.org/uglify-js/1.2.5
         npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
         npm http 200 https://registry.npmjs.org/xmlhttprequest/1.4.2
         npm http GET https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1
  .4.2.tgz
         npm http 200 https://registry.npmjs.org/ws
         npm http GET https://registry.npmjs.org/ws/-/ws-0.4.25.tgz
         npm http 200 https://registry.npmjs.org/active-x-obfuscator/-/active-x-ob
  fuscator-0.0.1.tgz
         npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
         npm http 200 https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1
  .4.2.tgz
         npm http 200 https://registry.npmjs.org/ws/-/ws-0.4.25.tgz
         npm http GET https://registry.npmjs.org/zeparser/0.0.5
         npm http GET https://registry.npmjs.org/commander
         npm http GET https://registry.npmjs.org/tinycolor
         npm http GET https://registry.npmjs.org/options
         npm http 200 https://registry.npmjs.org/zeparser/0.0.5
         npm http GET https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
         npm http 200 https://registry.npmjs.org/options
         npm http GET https://registry.npmjs.org/options/-/options-0.0.3.tgz
         npm http 200 https://registry.npmjs.org/tinycolor
         npm http GET https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
         npm http 200 https://registry.npmjs.org/commander
         npm http GET https://registry.npmjs.org/commander/-/commander-0.6.1.tgz
         npm http 200 https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
         npm http 200 https://registry.npmjs.org/options/-/options-0.0.3.tgz
         npm http 200 https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
         npm http 200 https://registry.npmjs.org/commander/-/commander-0.6.1.tgz
  
         &gt; ws@0.4.25 install /tmp/build_36us8733h7kkr/node_modules/socket.io/node_
  modules/socket.io-client/node_modules/ws
         &gt; (node-gyp rebuild 2&gt; builderror.log) || (exit 0)
  
         make: Entering directory `/tmp/build_36us8733h7kkr/node_modules/socket.io
  /node_modules/socket.io-client/node_modules/ws/build'
           CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
           SOLINK_MODULE(target) Release/obj.target/bufferutil.node
           SOLINK_MODULE(target) Release/obj.target/bufferutil.node: Finished
           COPY Release/bufferutil.node
           CXX(target) Release/obj.target/validation/src/validation.o
           SOLINK_MODULE(target) Release/obj.target/validation.node
           SOLINK_MODULE(target) Release/obj.target/validation.node: Finished
           COPY Release/validation.node
         make: Leaving directory `/tmp/build_36us8733h7kkr/node_modules/socket.io/
  node_modules/socket.io-client/node_modules/ws/build'
         npm ERR! cb() never called!
         npm ERR! not ok code undefined
         npm ERR! cb() never called!
         npm ERR! not ok code 1
   !     Failed to install --production dependencies with npm
   !     Heroku push rejected, failed to compile Node.js app
  
  To git@heroku.com:still-chamber-1286.git
   ! [remote rejected] master -&gt; master (pre-receive hook declined)
  error: failed to push some refs to 'git@heroku.com:still-chamber-1286.git'
  </code></pre>
  <p>The error is in the last few lines:</p>
  <pre><code>npm ERR! cb() never called!
             npm ERR! not ok code undefined
             npm ERR! cb() never called!
             npm ERR! not ok code 1
       !     Failed to install --production dependencies with npm
       !     Heroku push rejected, failed to compile Node.js app
  
      To git@heroku.com:still-chamber-1286.git
       ! [remote rejected] master -&gt; master (pre-receive hook declined)
      error: failed to push some refs to 'git@heroku.com:still-chamber-1286.git'
  </code></pre>
  <p>I have had no problems with pushing my code to Heroku before; only since Monday have I had this error.</p>
  <p>I have seen similar posts on the web referring to slightly different errors, but haven't seen one with <code>! [remote rejected] master -&gt; master (pre-receive hook declined)</code> before.</p>