title: Error: Cannot find module './lib/socket.io'
body: <p>I had my server working with an earlier version of node.js, npm, and socket.io but after updating I started getting issues with socket.io:</p>
  
  <pre><code>$ node server.js
  
  node.js:237
          throw e; // process.nextTick error, or 'error' event on first tick
                ^
  Error: Cannot find module './lib/socket.io'
      at Function._resolveFilename (module.js:333:15)
      at Function._load (module.js:280:25)
      at Module.require (module.js:357:17)
      at require (module.js:373:17)
      at Object.&lt;anonymous&gt; (/usr/local/lib/node_modules/socket.io/index.js:8:18)
      at Module._compile (module.js:444:26)
      at Object..js (module.js:462:10)
      at Module.load (module.js:351:32)
      at Function._load (module.js:309:12)
      at Module.require (module.js:357:17)
  </code></pre>
  
  <p>Before upgrading I had a symlink for socket.io under node_modules pointing to the "centrally installed" directory with the same name. Recently I tried installing socket.io local to my project by issuing the command:</p>
  
  <pre><code>npm install socket.io
  </code></pre>
  
  <p>which placed socket.io under node_modules in my project. I found it strange at first that the error message was saying "./lib/socket.io" but when I looked into it I found that project/node_modules/socket.io/index.js is requiring socket.io like so:</p>
  
  <pre><code>module.exports = require('./lib/socket.io');
  </code></pre>
  
  <p>But there is nothing there except transport:</p>
  
  <pre><code>...project/node_modules/socket.io/lib
  $ ll
  total 24
  drwxrwxr-x 3 ghbarratt dev  4096 Mar 26 14:38 .
  drwxrwxr-x 5 ghbarratt dev  4096 Mar 26 15:03 ..
  -rw-rw-r-- 1 ghbarratt dev 10777 Mar  6 16:37 transport.js
  drwxrwxr-x 3 ghbarratt dev  4096 Mar 26 14:38 transports
  </code></pre>
  
  <p>Should there be another socket.io directory or a socket.io.js file under lib? Why would index.js be requiring an internal file that seems to be missing?</p>
  
  <p>Versions:</p>
  
  <pre><code>node -v
  v0.7.7-pre
  
  npm -v
  1.1.12
  
  socket.io@0.9.2
  
  Distributor ID: Ubuntu
  Description:    Ubuntu 10.10
  Release:        10.10
  Codename:       maverick
  </code></pre>