Why are Package Managers Important?

Why are Package Managers Important?


2 min read

Going by Wikipedia's definition "A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner."

In easier terms, package managers are software or tools that will help you set up and configure your project's environment and dependencies easily.

What are dependencies?

Before we jump into discussing why package managers are important, let's understand what dependencies are.

Well, dependencies are packages or libraries created by someone else that can be used in your project to solve certain problems or cater to certain requirements. A dependency can be anything from a simple library that modifies your code to make it more readable like Prettier or a large widely used framework like React or Vue.

... back to the original question

Theoretically, it is not necessary to use package managers, you can download and do the configuration manually too but usage of these managers is recommended as it saves a lot of time because the configuration of these libraries is not an easy task, it requires careful handling of the files, putting them in the correct locations, checking for vulnerabilities, etc. It's even a bigger hassle when you want to remove these libraries as you'll have to locate these files and delete them individually.

That is why package managers have such an important practical role; installation and deletion of dependencies is just a matter of one line of code.

Write that one line code
Hit Enter
Sit back and relax!!

Everything becomes that easy!

Every programming language uses a different package manager.
A few of the popular ones are:

  • JavaScript - npm
  • Java - Maven, and Gradle
  • PHP - Composer
  • Python - pip/conda

Hope you found this short article helpful. I also post tips and resources on Twitter regularly. If you are interested, do check out my Twitter handle @aahiknsv. Thank You!