title: How does npm3 decides to install flat vs. nested?
body: <p>My project depends on angular2 beta.6 and another project that depends on angular2 beta.0.</p>
  
  <p><strong>package.json for my project</strong></p>
  
  <pre><code>"dependencies": {
      "angular2": "2.0.0-beta.6",
      "another-project": "0.0.1"
  }
  </code></pre>
  
  <p><strong>package.json for another-project</strong></p>
  
  <pre><code>"dependencies": {
      "angular2": "2.0.0-beta.0",
  }
  </code></pre>
  
  <p>When I <code>npm install</code> my project, it installs <code>angular2</code> twice:</p>
  
  <ol>
  <li><code>node_modules/angular2</code> (beta.6)</li>
  <li><code>node_modules/another-project/angular2</code> (beta.0)</li>
  </ol>
  
  <p>Trying to understand how npm3 decides to nest angular2 beta.0. Is it because both are called angular2 and hence they can not both sit at the top level?</p>