PACKAGE MANAGERS – A BRIEF HISTORY

For this Thursday, our colleague Dusan prepared lecture about the history of package managers and talked differences between them.

ABOUT PACKAGE MANAGERS

Package managers are a collection of software tools that automate the processes of installing, upgrading, configuring, and removing computer programs. As a result, all these processes could be carried out in a consistent manner.

The primary function of the package managers is to install some package from a global registry into an engineer’s local environment. Furthermore, package managers eliminate the need for manual installs and updates. This means that package managers could be particularly useful for large enterprises whose operating systems are based on Linux.

Without package managers, users must install and update all of the required dependencies for a piece of software. Also you must compile the software from the source code, and manage configuration for each piece of software.

ABOUT NPM

Node.js package manager (npm) is a package manager for the JavaScript programming language. It consists of a command line client and an online database of public and paid-for private packages registry. You can access this register via npm client. Besides that, you can browse ans search available via Npm website.

ABOUT YARN

Yarn enables engineers to move faster and with confidence when using shared code. As a result, they can focus more on building new products and features.

Yarn is a package manager that replaces the existing workflow for the npm client, while remaining compatible with the npm registry. It has the same feature set as existing workflows while operates faster, more securely, and more reliably.

Whenever npm or Yarn needs to install a package, it carries out a series of tasks. In npm, you can execute these tasks per package and sequentially. This means you must wait for a package to be fully installed before moving on to the next. Yarn executes these tasks in parallel which increases performance.

Approximately, Yarn is 4.7 times faster than npm.   The difference in speed depends on the amount of installed packages, but every time Yarn is consistently faster than npm.