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.
These posts are for my own understanding. Reader beware. Info may be wrong but it reflects my current understanding.