A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing software packages for a computer’s operating system in a consistent manner. It typically maintains a database of software dependencies and version information to prevent software mismatches and missing prerequisites.
Now let’s take a look at some popular package managers that I’ve used in the past for various languages.
NPM (Node Package Manager)
RubyGems is a package manager for Ruby that was released in 2004. Like npm it has a CLI that’s used to interface with RubyGems to install and manage their libraries or gems. Bundler is currently the default gem dependency manager for Ruby. By simply running in your terminal
you will be able to install the exact gems and versions that you need.
CRAN is commonly used for the statistical programming language known as R. CRAN stands for the Comprehensive R Archive Network. It has previous versions of R, documentation, various open source packages for R. As of 2020 there are about 16,000 packages available. Some of their more popular libraries, such as R shiny, are used for data visualization.
CocoaPods is a dependency manager for iOS and Mac projects. It’s also written in Ruby. CocoaPods is strongly inspired by a combination of the Ruby projects RubyGems and Bundler. For those looking to build apps with Swift or React Native its important to learn CocoaPods in order to integrate some popular libraries into your apps.