Repolode
pnpm

pnpm/pnpm

Fast, disk-efficient Node.js package manager that links packages from a shared content-addressable store, with strict dependency isolation and monorepo support.

Open-source alternative to:npmYarn

Stars
36,915
Forks
1,960
Open issues
199
Last commit
12 hours ago

What is it?

pnpm is a package manager for JavaScript and Node.js projects, an alternative to npm and Yarn. Instead of copying each dependency into every project's node_modules, it stores all package files once in a content-addressable store on disk and links them into projects, so identical files are not duplicated across projects.

It enforces strict dependency resolution: a package can only import dependencies explicitly declared in its own package.json, which catches undeclared imports that flat node_modules layouts can hide. Installs are recorded in a pnpm-lock.yaml lockfile for reproducible builds. Built-in workspace support makes it suited to monorepos.

The project supports Windows, Linux and macOS. It also includes pnpm runtime for managing Node.js versions, and an experimental Rust port of the CLI called pacquet.

Key features

  • 01Stores package files once in a content-addressable store and links them into projects.
  • 02Strict dependency isolation so packages only access dependencies declared in package.json.
  • 03Deterministic installs via the pnpm-lock.yaml lockfile.
  • 04Built-in workspace support for monorepos.
  • 05Manages Node.js versions through pnpm runtime.
  • 06Runs on Windows, Linux and macOS.

Use cases

  • Installing dependencies for large monorepos with many interrelated packages.
  • Reducing disk usage on machines with many JavaScript projects that share libraries.
  • Enforcing strict dependency declarations in a team codebase.
  • Replacing npm or Yarn in CI pipelines to speed up installs.

Quick start

  1. 1

    Follow the official installation guide

Things to know

  • The Rust port, pacquet, is experimental, so the established CLI is the safer choice for production.

Topics

FAQ

What is pnpm?
Fast, disk-efficient Node.js package manager that links packages from a shared content-addressable store, with strict dependency isolation and monorepo support. pnpm is a package manager for JavaScript and Node.js projects, an alternative to npm and Yarn. Instead of copying each dependency into every project's node_modules, it stores all package files once in a content-addressable store on disk and links them into projects, so identical files are not duplicated across projects.
Is pnpm free to use? What license does it have?
pnpm is open source under the MIT license. Check the license terms before using it in commercial products.
Is pnpm still maintained?
Actively maintained. The last commit to pnpm was on Oct 24, 2026.
What can I use pnpm for?
Installing dependencies for large monorepos with many interrelated packages. Reducing disk usage on machines with many JavaScript projects that share libraries. Enforcing strict dependency declarations in a team codebase. Replacing npm or Yarn in CI pipelines to speed up installs.
How do I install pnpm?
Follow the official installation guide
Where can I get pnpm?
The source code and installation instructions are on GitHub: https://github.com/pnpm/pnpm

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects