The best package managers, according to hackers
35 package managers recommended in Hacker News comments over the past year, ranked by how many separate people recommend each one.
- Most recommendedNix378 people recommend it
- Built to lastaptowners report a median of 20 years
- Least regretPixi24 recommend, 1 criticize
All package managers
- NixRecommended for reproducible, declarative builds and per-project dev environments with multiple versions side by side, but the learning curve, docs and overall UX are widely called brutal.378recommend
- HomebrewA package manager for macOS and Linux with a huge catalog, one-line installs and handy casks for Mac apps; critics cite weak supply-chain security and dropped older macOS support.271recommend
- npmRecommended for JavaScript's huge package ecosystem and easy package installs, though critics say it's a frequent supply-chain attack target and runs install scripts by default.161recommend
- pnpmA faster, disk-efficient npm replacement whose blocked-by-default install scripts and release-age cooldowns help against supply chain attacks, though critics note it doesn't fully stop them.124recommend
- CargoRust's all-in-one build tool and package manager that handles building, testing, docs and publishing with little fuss, though critics cite npm-style supply-chain risks and weak C/C++ interop.123recommend
- GNU GuixFree Linux distribution and package manager for reproducible environments, with rollbacks and source bootstrapping. Critics call it niche, weak on desktop use, and unavailable on Windows and macOS.84recommend
- aptRecommended for a standardized way to install, upgrade and remove software on Debian-based systems, with signed repositories and a long, stable record. Critics mention upgrades that can break boots and weak fit for containers and reproducibility.56recommend
- MacPortsPeople recommend MacPorts as a macOS package manager with a large package collection, installs kept out of the way in /opt, and support for very old Macs. Critics say it compiles from source, can break system setups, and is slower than Homebrew.55recommend
- WinGetBuilt-in Windows command-line package manager that installs and updates software reliably and is praised for scripted setups. Critics say it lacks authenticity checks and is less polished than apt.41recommend
- pacmanRecommended for simple, stable package management on Arch Linux, with fast updates and trusted repositories. The most common caveat is that upgrades can occasionally break a system.37recommend
- YarnPeople recommend Yarn for reproducible installs, zero-install committed dependencies and faster installs on large monorepos. Critics say classic Yarn 1 is unmaintained and security-wise a dead end.27recommend
- PixiDeveloper tools package manager that installs Python and Conda packages together in one fast tool with exact lockfiles, often called a uv for Conda.24recommend
- pkgsrcpkgsrc is a portable package manager that runs on many operating systems, builds the same recipes across 20+ platforms, and allows unprivileged installs.21recommend
- CondaPeople favor conda for handling non-Python binary dependencies and for reliably installing packages that just work. Critics say its solver is slow and can fail with unresolvable conflicts.19recommend
- dnfRecommended for installing, updating and removing packages on Fedora and other RPM-based systems, with transaction history that makes changes easy to undo.18recommend
- Scoop package managerPeople recommend Scoop as a command-line package manager for Windows that installs and updates developer tools such as Java, CMake, and Emacs. Critics note that some security apps ignore its current symlinks.16recommend
- Gentoo PortageGentoo's package manager, praised for automated updates, easy patching and a kernel-agnostic design; the most common caveat is slow dependency resolution.15recommend
- ConanRecommended for cross-platform C/C++ dependencies and ABI checks. Critics say it needs more configuring than alternatives and recipes are inconsistent.14recommend
- vcpkgRecommended cross-platform C/C++ package manager with a large recipe library and reliable builds. Common caveat: setup is clunky, packages are sometimes broken, and CMake still needs writing.14recommend
- NuGetPeople recommend NuGet for being easier to use than alternatives like Maven and for its built-in .NET support. Critics cite a confusing build setup and mistaken package removals.14recommend
- ChocolateyPeople recommend Chocolatey as a command-line package manager for Windows software, citing one-line installs and checksum checks. Critics say its install process feels dated and sometimes stalls.13recommend
- BundlerRecommended as a practical Ruby dependency manager that is useful for scripts and projects, though critics say installs are slow.12recommend
- Swift Package ManagerApple's built-in package manager for Swift, praised for simplicity, team use and mixing languages; critics cite rough Xcode integration and slow builds.11recommend
- Go modulesPeople recommend Go modules for reproducible dependency resolution built into the toolchain and for removing name squatting; critics say tooling is rough and go mod tidy can update dependencies unexpectedly.10recommend
- AubeNode.js package manager from the mise author, with safety-first defaults and a 24-hour update cooldown. Critics say it looks vibe coded.10recommend
- SpackFree HPC package manager that makes optimised builds with custom compilers easier. Caveat: Windows packages are less mature, and it integrates poorly with uv.8recommend
- ZerobrewFast drop-in Homebrew alternative that people find pleasant to use. Critics report install-path errors and distrust of its AI-written code.8recommend
- sx by SleuthFree open-source package manager for sharing AI skills, MCPs and commands across teams, with versioning, lockfiles and scoped installs.7recommend
- RPM package managerPeople recommend RPM for its comparatively easy tooling across the whole packaging stack. Critics find it tedious and say small mistakes can force very long rebuilds.7recommend
- FreeBSD portsPeople recommend FreeBSD ports for keeping software current and for convenient, flexible installs on FreeBSD.7recommend
- QuicklispCommon Lisp's de facto package manager; people recommend it for library access, though it lacks HTTPS and signature checks.7recommend
- apk package managerAlpine Linux's package manager, praised for fast installs and deterministic results, with some saying it beats pacman, apt and rpm.7recommend
- ociclCommon Lisp package manager that people prefer over Quicklisp for managing dependencies, though one critic says it fixes packaging without rethinking it.5recommend
- AlirePeople recommend it for making Ada toolchains and projects easier to set up and build. No criticism was recorded.5recommend
- Windows Package Manager (winget)Command-line package manager for Windows; people say it would have prevented the recent 7-Zip and Notepad++ installer attacks.5recommend