title: Node.js - Module Version Mismatch on Linode Server
body: <p>I am trying to deploy a node app on Linode (Ubuntu 12.04) while following this guide from Node Knockout: <a href="http://blog.nodeknockout.com/post/9300619913/countdown-to-ko-14-deploying-your-node-js-app-to" rel="nofollow">http://blog.nodeknockout.com/post/9300619913/countdown-to-ko-14-deploying-your-node-js-app-to</a></p>
  
  <p>I have no problems running the server as root, but when trying to start the server as the "deploy" user using <code>sudo start node</code>, I get this error:</p>
  
  <pre><code>   /home/deploy/app/source/node_modules/bcrypt/node_modules/bindings/bindings.js:79
              throw e
                    ^
      Error: Module version mismatch. Expected 11, got 1.
          at Module.load (module.js:356:32)
          at Function.Module._load (module.js:312:12)
          at Module.require (module.js:364:17)
          at require (module.js:380:17)
          at bindings (/home/deploy/app/source/node_modules/bcrypt/node_modules/bindings/$
          at Object.&lt;anonymous&gt; (/home/deploy/app/source/node_modules/bcrypt/bcrypt.js:1:$
          at Module._compile (module.js:456:26)
          at Object.Module._extensions..js (module.js:474:10)
          at Module.load (module.js:356:32)
          at Function.Module._load (module.js:312:12)
  </code></pre>
  
  <p>I have tried recompiling bcrypt using <code>make clean</code> then <code>make</code> since I thought my module version was incompatible with my version of node (v0.8.18), but that does not seem to be the case since I can start the server as root with no problem. I feel as though the problem lies in how I set up the deploy user, but I am not sure how to proceed. </p>