title: How to share code between node.js apps?
body: <p>I have several apps in node that all share a few modules that I've written. These modules are not available via npm.  I would like to be able to share freely between apps, but I don't want to copy directories around, nor rely on Git to do so.  And I'm not really big on using symlinks to do this either.</p>
  
  <p>I would like to arrange directories something like this:</p>
  
  <pre><code>app1
   server.js
   node_modules
    (public modules from npm needed for app1)
   lib
    (my own modules specific to app1)
  
  app2
   server.js
   node_modules
    (public modules from npm needed for app2)
   lib
    (my own modules specific to app2)
  
  shared_lib
   (my own modules that are used in both app1 and app2)
  </code></pre>
  
  <p>The problem I'm seeing is that the modules in shared_lib seem to get confused as to where to find the modules that will be in the node_modules directory of whichever app they are running in.  At least I think that is the problem.</p>
  
  <p>So....what is a good way to do this that avoids having duplicates of files?  (note that I don't care about duplicates of things in node_modules, since those aren't my code, I don't  check them into Git, etc)</p>