title: How is use of npm to install global packages that don't even get used in Node applications justified?
body: <p>My knowledge of <code>npm</code> is this:</p>
  
  <p>It is a package manager for <code>Node.js</code> applications. What this means is that when you need someone else's library/package for your node application you can conveniently use <code>npm</code> to get those dependencies.</p>
  
  <p>But I recently came across this command:</p>
  
  <p><code>npm install -g cca</code>.</p>
  
  <p>Then I enter <code>cca</code> in my terminal and now it starts some program.</p>
  
  <p>Now my question is how can <code>npm</code> install packages that can be accessed via the terminal?
  I mean all packages installed by <code>npm</code> should be accessible by node application code (in JavaScript). This confuses me.</p>