There are a lot of tools in the npm ecosystem that you need to run in your project. For example, firebase-tools or heroku. If you read the documentation, those tools require you to install them globally: npm install -g firebase-tools Now you can execute the binary from everywhere, for example: firebase init. But it’s recommended to install packages locally instead of globally 1. Updating a global package would make all your projects use the new release, and as you can imagine this might cause nightmares in terms of maintenance, as some packages might break compatibility with further dependencies, and so on.