EVERYTHING XIAOMI
Get listed

pnpm

pnpm is a package manager and drop-in replacement for npm, available for Linux, macOS, Windows, and Android.

Place
#18 of 93
Score
7.2
pnpm's website

What pnpm is

pnpm is a package manager and drop-in replacement for npm, available for Linux, macOS, Windows, and Android. It supports npm and JSR packages, Cargo crates, PyPI packages, tarballs, Git repositories, and local directories. Dependency resolution, fetching, and linking run in parallel, while package files are stored in a shared content-addressable store and linked into projects. Its workspace tools support monorepos, filtering, workspace protocols, and a shared lockfile. By default, only declared direct dependencies appear in the root node_modules directory. Since pnpm v10, install scripts are disabled unless explicitly allowed; other controls include blocking exotic transitive dependencies, delaying updates, and enforcing trust policies. pnpm can check for known vulnerabilities and verify ECDSA registry signatures. It can install and pin Node.js per project, and its standalone installer does not require Node.js. The project provides examples for several CI systems and a GitHub Actions setup action. pnpm is free; the provided pages state no pricing, trial, refund, or free-tier details.

Good

  • Drop-in replacement for npm.
  • Supports multiple package sources.
  • Workspace features include filtering and a shared lockfile.
  • Install scripts require approval by default since v10.
  • Can audit vulnerabilities and verify registry signatures.

Watch out

  • No pricing or billing details are stated.
  • No trial or refund terms are stated.
  • No free-tier limits are stated.

Who it suits

pnpm suits developers who manage project dependencies, especially those working with monorepos or wanting stricter dependency and install-script controls. Its listed package sources and platforms may also suit projects using multiple ecosystems.

Verdict

pnpm offers dependency management across several package sources, with workspace features and controls for install scripts and trust. Its pages state that it is free but do not specify pricing or trial terms.

The facts

Each one read from pnpm's own pages, with the date it was checked.

What it does

Audit and signatures
pnpm audit can check known vulnerabilities and verify ECDSA registry signatures for installed packages.checked 28 Sep 2026
Build safety
pnpm disables automatic execution of dependency postinstall scripts and recommends explicitly allowing trusted builds.checked 30 Sep 2026
Build script security
Install scripts require approval for packages allowed to execute them.checked 28 Sep 2026
CI integrations
The documentation provides configuration examples for AppVeyor, Azure Pipelines, Bitbucket Pipelines, CircleCI, GitHub Actions, GitLab CI, Jenkins, Semaphore, and Travis CI.checked 28 Sep 2026
Community support
Community channels include X, YouTube, Reddit, Bluesky, and Discord.checked 28 Sep 2026
Content-addressable storage
pnpm stores package files in a single content-addressable store and links them into projects.checked 28 Sep 2026
Dependency catalogs
Catalogs define dependency versions once in pnpm-workspace.yaml.checked 28 Sep 2026
Dependency isolation
By default, pnpm links only a project's direct dependencies into the root of node_modules.checked 30 Sep 2026
Dependency patching
pn patch creates persistent patches reapplied on every install.checked 28 Sep 2026
Dependency resolution
Yeschecked 21 Sep 2026
Disk efficiency
Files are hard-linked from one content-addressable store.checked 28 Sep 2026
Disk use
pnpm stores package files in a shared content-addressable store and hard-links them into project node_modules.checked 30 Sep 2026
Feature set
The feature comparison lists dependency patching, catalogs, JSR registry support, SBOM generation, license listing, and build script security.checked 30 Sep 2026
GitHub Actions integration
The pnpm/setup action installs pnpm, can install the requested runtime, runs pnpm install, and can cache the pnpm store.checked 28 Sep 2026
Installation limit
pnpm 12 requires Node.js 22.13 or newer when installed through npm, while the standalone executable does not require Node.js after installation.checked 28 Sep 2026
Installation requirement
pnpm 12 is a native executable that does not require Node.js after installation; installing it through npm requires Node.js 22.13 or newer.checked 30 Sep 2026
Installation speed
pnpm resolves, fetches, and links dependencies in parallel and describes its installation process as significantly faster than the traditional approach.checked 28 Sep 2026
Install speed
pnpm resolves, fetches, and links packages in parallel, and says installs on a warm store mostly create links.checked 30 Sep 2026
Integrations
The CI guide provides setup examples for systems including AppVeyor, Azure Pipelines, Bitbucket Pipelines, and CircleCI.checked 30 Sep 2026
License
The pnpm repository is MIT licensed except for the pnpr directory, which is source-available under the PolyForm Shield License 1.0.0.checked 28 Sep 2026

Money

Billing details
No pricing or billing details are stated on the provided pages.checked 28 Sep 2026
Free plan
Yeschecked 21 Sep 2026
Free tier
No free-tier plan or limits are stated on the provided pages.checked 28 Sep 2026

Where it runs

Installation platforms
Installation instructions are provided for macOS, Linux, and Windows.checked 28 Sep 2026
The full review of pnpm

pnpm is a package manager for JavaScript projects and a drop-in replacement for npm. It suits developers and teams managing dependencies across projects, especially monorepos. Its strongest case is the combination of shared package storage, workspace tools, and install-time security controls.

Overview

pnpm works with npm and JSR registries, workspace packages, local files, tarballs, and Git repositories; it also supports package formats including Cargo crates and PyPI packages. Dependency resolution and lockfiles provide the basic machinery for repeatable project installs.

Package files are kept in a content-addressable store and hard-linked into projects, reducing duplicate copies across projects. Resolution, fetching, and linking run in parallel. The project claims pnpm can be up to 2x faster than npm and Yarn Classic, but that is not a promise for every workload.

The repository is MIT licensed except for the pnpr directory, which uses the source-available PolyForm Shield License 1.0.0. That distinction matters to organizations evaluating the full repository.

Key features

Workspaces and dependency consistency

Workspace support is a substantial reason to choose pnpm for monorepos: teams can use workspace protocols, filter commands by package, and share one lockfile. Dependency catalogs define versions once in pnpm-workspace.yaml, helping keep choices aligned across packages rather than repeated independently.

Isolation and install security

By default, only declared direct dependencies are exposed at the root of node_modules. That stricter structure can surface undeclared dependency use instead of letting it work accidentally. Since pnpm v10, dependency postinstall scripts are disabled unless explicitly approved, giving teams a deliberate gate over which packages can run install-time code.

Additional supply-chain controls include blocking exotic transitive dependencies, delaying updates with a default minimum release age of 1440 minutes, and enforcing trust with trustPolicy. The pnpm audit command checks known vulnerabilities and can verify ECDSA registry signatures for installed packages. These controls are useful for teams that want policy at install time, though they require decisions about what to permit and trust.

Patching and runtime management

pn patch creates persistent patches that are reapplied on each install, offering a way to maintain dependency changes within a project. pnpm can also install and pin Node.js per project, which helps teams keep the runtime choice tied to project work.

Installation and automation

Installation instructions cover macOS, Linux, and Windows, and a standalone script works without Node.js already installed. Documentation includes CI examples for AppVeyor, Azure Pipelines, Bitbucket Pipelines, CircleCI, GitHub Actions, GitLab CI, Jenkins, Semaphore, and Travis CI. The GitHub Actions setup can install pnpm, install a requested runtime, run pnpm install, and cache the pnpm store.

Pricing

pnpm is free, with no trial. It is a straightforward fit for individuals and teams that want a package manager without a stated paid tier. There are no stated plan limits or billing terms to weigh against that choice.

Platforms

pnpm supports Linux, macOS, Windows, and Android. Its installation instructions cover macOS, Linux, and Windows; a standalone installer avoids requiring Node.js beforehand.

Who it's for

pnpm is a strong fit for JavaScript developers who want a npm-compatible replacement, particularly teams with monorepos that benefit from filtering, a shared lockfile, and centralized dependency versions. Its store-based linking is also relevant to users managing multiple projects where reducing duplicated package files matters. Teams prioritizing controlled install scripts and dependency trust have meaningful safeguards to configure.

It is a less natural choice for teams that do not want pnpm's stricter dependency visibility or that prefer a tool centered on another ecosystem. The performance claim is not a substitute for evaluating a project's own workload.

Pros and cons

  • Pro: Shared content-addressable storage and hard links reduce duplicated package files across projects.
  • Pro: Workspace filtering, a shared lockfile, and dependency catalogs give monorepos practical coordination tools.
  • Pro: Install-script approval, release-age delays, trust policies, audits, and signature checks provide several layers of supply-chain control.
  • Con: Only declared direct dependencies are exposed at the root of node_modules by default, which can require projects relying on accidental access to adjust.
  • Con: Install scripts require explicit approval, so teams must manage allow decisions for packages that need to execute them.
  • Con: The repository's pnpr directory is not covered by its MIT license.

Alternatives

npm is the direct alternative for readers who prefer the established package manager pnpm replaces, with a freemium model and a free plan for public package authors that includes unlimited public packages and public registry access.

uv is a free package-management alternative for Python projects. Conan is a free and open-source package manager for C and C++. Yarn is another free open-source package manager. Cargo is the free Rust package manager and build tool. NuGet is a free option for readers considering the NuGet ecosystem; its Gallery code is Apache 2.0 licensed and welcomes community contributions. Go Modules is another free option. Gradle is a free, open-source build system.

Browse Package Managers, Monorepo Management Tools, or JavaScript Package Managers for category options.

Verdict

Choose pnpm if you want an npm-compatible package manager with efficient shared storage, particularly for monorepos or teams that value install-time controls. Look elsewhere if the stricter dependency model does not suit your project, or if you need a package manager focused on another ecosystem.

Alternatives to pnpm

All alternatives
  1. 1

    npm

    Free planLinuxmacOSWindows
    8.3From $7 a month
  2. 2uv logo

    uv

    Free planLinuxmacOSWindows
    7.6Free plan
  3. 3

    Pixi

    Free planLinuxmacOSWindows
    7.6From €42 a month
  4. 4

    vcpkg

    Free planAndroidiOSLinuxmacOS
    7.6Free plan
  5. 5Cargo logo

    Cargo

    Free planLinuxmacOSWindows
    7.5Free plan
  6. 6

    pip

    Free planLinuxmacOSWindows
    7.5Free plan