pnpm logo

pnpm

Fast, disk space efficient package manager
179
64
+ 1
11

What is pnpm?

It uses hard links and symlinks to save one version of a module only ever once on a disk. When using npm or Yarn for example, if you have 100 projects using the same version of lodash, you will have 100 copies of lodash on disk. With pnpm, lodash will be saved in a single place on the disk and a hard link will put it into the node_modules where it should be installed.
pnpm is a tool in the Package Managers category of a tech stack.
pnpm is an open source tool with 25.4K GitHub stars and 778 GitHub forks. Here’s a link to pnpm's open source repository on GitHub

Who uses pnpm?

Companies
35 companies reportedly use pnpm in their tech stacks, including BlaBlaCar, Lendit, and Vinted.

Developers
108 developers on StackShare have stated that they use pnpm.

pnpm Integrations

Pros of pnpm
4
Fast
3
Uses less disk space
2
Works as a Node.js package manager
1
Has CLI auto-completion
1
Has a nice UI

pnpm's Features

  • Fast. As fast as npm and Yarn
  • Efficient. One version of a package is saved only ever once on a disk
  • Great for multi-package repositories (a.k.a. monorepos)
  • See the recursive commands
  • Strict. A package can access only dependencies that are specified in its package.json
  • Deterministic. Has a lockfile called pnpm-lock.yaml
  • Works everywhere. Works on Windows, Linux and OS X
  • Aliases. Install different versions of the same package or import it using a different name.

pnpm Alternatives & Comparisons

What are some alternatives to pnpm?
npm
npm is the command-line interface to the npm ecosystem. It is battle-tested, surprisingly flexible, and used by hundreds of thousands of JavaScript developers every day.
Yarn
Yarn caches every package it downloads so it never needs to again. It also parallelizes operations to maximize resource utilization so install times are faster than ever.
Lerna
It is a popular and widely used package written in JavaScript. It optimizes the workflow around managing multi-package repositories with git and npm.
NuGet
A free and open-source package manager designed for the Microsoft development platform. It is also distributed as a Visual Studio extension.
RubyGems
It is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries, a tool designed to easily manage the installation of gems, and a server for distributing them.
See all alternatives

pnpm's Followers
65 developers follow pnpm to keep up with related blogs and decisions.