Package Managers

October 8, 2024 note-to-self

Here’s a detailed table summarizing popular package managers and their key features, along with links to their official resources:

Package Manager Software Ecosystem Versioning Features Official Site
APT Debian, Ubuntu Semantic (semver) and package-specific versions Handles dependencies, updates, upgrades, and installs .deb packages APT - Debian Wiki, Ubuntu Documentation
Homebrew (brew) macOS, Linux Semantic and project-defined Installs, manages, and updates software packages; formula-based Homebrew Official Site
pip Python PEP-compliant versioning Manages Python packages, dependencies, and virtual environments Pip Documentation
Composer PHP Semantic (semver) versions Dependency management, autoloading for PHP projects Composer Official Site
npm Node.js, JavaScript Semantic (semver) versions Package management, script running, dependency resolution npm Official Site
CPAN Perl Custom versions (module-defined) Comprehensive archive, dependency management CPAN Official Site
Go Modules Go Semantic versioning Dependency management, version locking Go Modules Documentation
Cargo Rust Semantic versioning Package management, builds, dependency handling Cargo Documentation
dnf/yum Fedora, RHEL, CentOS Semantic and package-specific Installs, updates, and removes .rpm packages DNF Documentation
NuGet .NET, C# Semantic versioning Dependency management for .NET projects NuGet Official Site

We need an open version of Nexus that wraps up every packager manager into one somehow. At least for syntax.