Package Manager
ELI5 — The Vibe Check
A package manager is the app store for your code — it downloads libraries, manages versions, and makes sure everything plays nice together. It's like a grocery delivery service for developers: you write a shopping list (package.json), and it fetches everything and puts it in your node_modules pantry. npm, yarn, pnpm, and bun are the big ones.
Real Talk
A package manager automates the installation, versioning, configuration, and removal of software dependencies. In the JavaScript ecosystem, it resolves dependency trees, handles version conflicts, manages lock files for reproducibility, and interacts with package registries (npm, GitHub Packages). Key tools include npm, yarn, pnpm, and bun.
When You'll Hear This
"Pick a package manager and stick with it — mixing npm and yarn in the same project causes chaos." / "The lock file is sacred — always commit it so everyone gets the exact same dependency versions."
Related Terms
Lock File Resolution
Lock file resolution is the process of pinning every single dependency (and their dependencies, and their dependencies' dependencies) to exact versions. It
npm
npm is like a vending machine for code. You say 'I want React' and it delivers React, plus React's 47 friends, plus their friends' friends.
pnpm
pnpm is the Marie Kondo of package managers. Instead of copying lodash into every project, it stores one copy on disk and symlinks to it everywhere.