title: Why is "npm install" really slow?
body: <p>What am I doing wrong when setting up my packages ?  Is there any way to speed this up ?</p>
  
  <ul>
  <li><p><code>packages.json :</code></p>
  
  <pre><code>{
  "name": "testing node",
  "version": "0.0.0",
  "description": "",
  "main": "app.config.js",
  "dependencies": {
      "babel-core": "^6.17.0",
      "babel-loader": "^6.2.0",
      "babel-plugin-add-module-exports": "^0.1.2",
      "babel-plugin-react-html-attrs": "^2.0.0",
      "babel-plugin-transform-class-properties": "^6.3.13",
      "babel-plugin-transform-decorators-legacy": "^1.3.4",
      "babel-preset-es2015": "^6.3.13",
      "babel-preset-react": "^6.3.13",
      "babel-preset-stage-0": "^6.3.13",
      "react": "^0.14.6",
      "react-dom": "^0.14.6",
      "webpack": "^1.12.9",
      "webpack-dev-server": "^1.14.1",
      "mysql": "*"
  },
  "devDependencies": {},
  "scripts": {
      "dev": "webpack-dev-server --content-base src --inline --hot",
      "test": "echo \"Error: no test specified\" &amp;&amp; exit 1"
  },
  "author": "",
  "license": "ISC"
  }
  </code></pre></li>
  </ul>
  
  <p>When inside the folder if I run</p>
  
  <pre><code>npm install
  </code></pre>
  
  <p>I get the following which can take hours to fully setup:</p>
  
  <p><img src="https://i.stack.imgur.com/YG3Ff.png" alt="npm install stuck"></p>
  
  <p>This is not a general computing or hardware issue. Comparative speeds are below :</p>
  
  <ul>
  <li><ol>
  <li>Run <code>haversine</code> to calculate all distances on over 1 million records in a non-index mysql table takes significantly less time. (computational)</li>
  </ol></li>
  <li><ol start="2">
  <li>Download a full install of Linux (Dual Layer DVD ISO) in significantly less time. (bandwidth)</li>
  </ol></li>
  </ul>
  
  <p>I suspect there is something wrong with my <code>packages.json</code> or the command I am running <code>npm install</code>. From the image, it seems there are numerous attempts to retrieve the same file.  Possibly there is a way to force <code>npm</code> to retrieve from a more stable mirror ?  Possible the mirror selection it uses by default is wonky ?  Just some suggestions -- I don't know the specific cause which is why I am asking.</p>
  
  <p>This problem also occurs on my Linode, Digital Ocean, and VULTR boxes -- so I suspect it is something specific with <code>npm</code>, the way I am using (something missing), or my <code>packages.json</code>.</p>