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.