title: Node.js Error: Cannot find module express
body: <p>I wrote my first node.js app, but it can't find express library:</p>
  
  <pre><code>C:\ChatServer\Server&gt;node server.js
  
  module.js:340
      throw err;
            ^
  Error: Cannot find module 'express'
      at Function.Module._resolveFilename (module.js:338:15)
      at Function.Module._load (module.js:280:25)
      at Module.require (module.js:364:17)
      at require (module.js:380:17)
      at Object.&lt;anonymous&gt; (C:\ChatServer\Server\server.js:6:9)
      at Object.&lt;anonymous&gt; (C:\ChatServer\Server\server.js:25:4)
      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>But express is intalled (with <code>-g</code> key):</p>
  
  <pre><code>C:\ChatServer\Server&gt;npm install -g express
  npm http GET https://registry.npmjs.org/express
  npm http 304 https://registry.npmjs.org/express
  npm http GET https://registry.npmjs.org/connect/2.7.11
  npm http GET https://registry.npmjs.org/commander/0.6.1
  npm http GET https://registry.npmjs.org/range-parser/0.0.4
  npm http GET https://registry.npmjs.org/mkdirp/0.3.4
  npm http GET https://registry.npmjs.org/cookie/0.1.0
  npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
  npm http GET https://registry.npmjs.org/fresh/0.1.0
  npm http GET https://registry.npmjs.org/methods/0.0.1
  npm http GET https://registry.npmjs.org/send/0.1.0
  npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
  npm http GET https://registry.npmjs.org/debug
  npm http 304 https://registry.npmjs.org/mkdirp/0.3.4
  npm http 304 https://registry.npmjs.org/range-parser/0.0.4
  npm http 304 https://registry.npmjs.org/cookie/0.1.0
  npm http 304 https://registry.npmjs.org/connect/2.7.11
  npm http 304 https://registry.npmjs.org/commander/0.6.1
  npm WARN package.json range-parser@0.0.4 No repository field.
  npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
  npm http 304 https://registry.npmjs.org/fresh/0.1.0
  npm http 304 https://registry.npmjs.org/methods/0.0.1
  npm http 304 https://registry.npmjs.org/send/0.1.0
  npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
  npm WARN package.json methods@0.0.1 No repository field.
  npm WARN package.json methods@0.0.1 No readme data.
  npm WARN package.json fresh@0.1.0 No repository field.
  npm WARN package.json send@0.1.0 No repository field.
  npm WARN package.json cookie-signature@1.0.1 No repository field.
  npm http 304 https://registry.npmjs.org/debug
  npm http GET https://registry.npmjs.org/mime/1.2.6
  npm http GET https://registry.npmjs.org/qs/0.6.5
  npm http GET https://registry.npmjs.org/send/0.1.1
  npm http GET https://registry.npmjs.org/formidable/1.0.14
  npm http GET https://registry.npmjs.org/cookie/0.0.5
  npm http GET https://registry.npmjs.org/bytes/0.2.0
  npm http GET https://registry.npmjs.org/pause/0.0.1
  npm http 304 https://registry.npmjs.org/mime/1.2.6
  npm http 304 https://registry.npmjs.org/bytes/0.2.0
  npm WARN package.json bytes@0.2.0 No repository field.
  npm http 304 https://registry.npmjs.org/pause/0.0.1
  npm WARN package.json pause@0.0.1 No repository field.
  npm http 304 https://registry.npmjs.org/formidable/1.0.14
  npm http 304 https://registry.npmjs.org/qs/0.6.5
  npm http 304 https://registry.npmjs.org/send/0.1.1
  npm http 304 https://registry.npmjs.org/cookie/0.0.5
  npm http GET https://registry.npmjs.org/mime
  npm http 304 https://registry.npmjs.org/mime
  C:\Users\Dmitry\AppData\Roaming\npm\express -&gt; C:\Users\Dmitry\AppData\Roaming\npm\node_modules\express\bin\express
  npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported.
  npm WARN package.json Please pick one as the 'repository' field
  npm WARN package.json assert-plus@0.1.2 No repository field.
  npm WARN package.json ctype@0.5.2 No repository field.
  express@3.2.6 C:\Users\Dmitry\AppData\Roaming\npm\node_modules\express
  ├── methods@0.0.1
  ├── fresh@0.1.0
  ├── range-parser@0.0.4
  ├── cookie-signature@1.0.1
  ├── buffer-crc32@0.2.1
  ├── cookie@0.1.0
  ├── debug@0.7.2
  ├── commander@0.6.1
  ├── mkdirp@0.3.4
  ├── send@0.1.0 (mime@1.2.6)
  └── connect@2.7.11 (pause@0.0.1, qs@0.6.5, bytes@0.2.0, cookie@0.0.5, formidable@1.0.14, send@0.1.1)
  </code></pre>
  
  <p>Some information:</p>
  
  <pre><code>C:\ChatServer\Server&gt;npm --version
  1.2.24
  
  C:\ChatServer\Server&gt;node --version
  v0.10.9
  
  C:\ChatServer\Server&gt;npm --version
  1.2.24
  
  C:\ChatServer\Server&gt;npm ls -g installed express
  npm WARN package.json cookie-signature@1.0.1 No repository field.
  npm WARN package.json fresh@0.1.0 No repository field.
  npm WARN package.json methods@0.0.1 No repository field.
  npm WARN package.json range-parser@0.0.4 No repository field.
  npm WARN package.json send@0.1.0 No repository field.
  npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported.
  npm WARN package.json Please pick one as the 'repository' field
  npm WARN package.json bytes@0.2.0 No repository field.
  npm WARN package.json pause@0.0.1 No repository field.
  npm WARN package.json assert-plus@0.1.2 No repository field.
  npm WARN package.json ctype@0.5.2 No repository field.
  C:\Users\Dmitry\AppData\Roaming\npm
  └── express@3.2.6
  
  
  C:\ChatServer\Server&gt;npm ls installed express
  C:\ChatServer\Server
  └── (empty)
  </code></pre>
  
  <p>How can I solve this problem? (<strong>MUST</strong> I install it without <code>-g</code>?)</p>