<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/pnpm-12-rewrites-package-manager-in-rust-accelerating-installs-while-preserving-pnpm-11-workflows-gzakowmso" -->

---
title: pnpm 12 Rewrites Package Manager in Rust, Accelerating...
description: pnpm 12 replaces its TypeScript/Node.js implementation with a native Rust rewrite while preserving pnpm 11&#x27;s commands, flags, lockfile format, and node_modules...
canonical: https://daily.dev/posts/pnpm-12-rewrites-package-manager-in-rust-accelerating-installs-while-preserving-pnpm-11-workflows-gzakowmso
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: pnpm 12 Rewrites Package Manager in Rust, Accelerating Installs While Preserving pnpm 11 Workflows | daily.dev
og:description: pnpm 12 replaces its TypeScript/Node.js implementation with a native Rust rewrite while preserving pnpm 11&#x27;s commands, flags, lockfile format, and node_modules...
og:url: https://daily.dev/posts/pnpm-12-rewrites-package-manager-in-rust-accelerating-installs-while-preserving-pnpm-11-workflows-gzakowmso
og:image: https://api.daily.dev/og/posts/Gzakowmso.png
og:image:alt: pnpm 12 Rewrites Package Manager in Rust, Accelerating Installs While Preserving pnpm 11 Workflows
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# pnpm 12 Rewrites Package Manager in Rust, Accelerating Installs While Preserving pnpm 11 Workflows

**[InfoQ](https://daily.dev/sources/infoq)** · 4 min read · 0 upvotes · 0 comments

## Summary

pnpm 12 replaces its TypeScript/Node.js implementation with a native Rust rewrite while preserving pnpm 11's commands, flags, lockfile format, and node_modules layout, so teams don't need to relearn the tool. Benchmarks show clean installs dropping from 8.2s to 5s and warm cached installs dropping from 472ms to 15ms; Vercel's Turborepo workspace testing showed 64.4%-90.5% install-time reductions, though the larger native binary made first uncached startup 11.1% slower. Install via `pnpm self-update next-12`; npm's `latest` tag still points to pnpm 11 and several package managers (Homebrew, winget, Scoop, Chocolatey) lacked v12 at launch. Notable breaking change: `pnpm install --resolution-only` is removed in favor of `pnpm peers check`. New features include project-aware global binaries and deterministic cycle handling for byte-identical lockfiles. Community reaction includes debate over whether Rust or JavaScript internals are better long-term, with pnpm maintainer Zoltan Kochan noting the Rust rewrite was faster than migrating to ESM.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.infoq.com/news/2026/09/pnpm-12-rust>

## Questions this post answers

### What breaking change should I check before upgrading CI from pnpm 11 to pnpm 12?

The `pnpm install --resolution-only` flag has been removed in pnpm 12 and replaced by `pnpm peers check`. This is flagged as the most likely change to break CI pipelines that relied on the old flag. Other changes include canonical HTTPS resolution for Git dependencies on GitHub, GitLab, and Bitbucket, and unknown keys in `pnpm-workspace.yaml` now being reported instead of silently ignored.

_Teams tracking pnpm upgrade gotchas can follow breaking-change breakdowns like this on daily.dev._

### How much faster is pnpm 12 compared to pnpm 11 for cached installs?

A repeated install with warm cache, lockfile, and node_modules dropped from 472 milliseconds under pnpm 11 to 15 milliseconds under pnpm 12's Rust implementation, per pnpm's own benchmarks. A clean install of a file-heavy fixture fell from 8.2 seconds to 5 seconds. Independent testing on Vercel's 21-project Turborepo workspace with 1,670 packages showed median install-time reductions between 64.4% and 90.5% across six scenarios.

_Developers deciding between package managers can compare benchmark data like this on daily.dev._

### How do I install pnpm 12 if npm's latest tag still points to pnpm 11?

Run `pnpm self-update next-12` to upgrade an existing pnpm installation to version 12, since the npm `latest` tag still resolves to pnpm 11. At launch, Homebrew, winget, Scoop, and Chocolatey did not yet offer version 12, so the installation guide's npm and standalone-script options, including installation without Node.js, are the reliable paths.

_Developers rolling out new package manager versions can track rollout status and gotchas on daily.dev._

---

Tags: [#nodejs](https://daily.dev/tags/nodejs), [#rust](https://daily.dev/tags/rust), [#npm](https://daily.dev/tags/npm), [#pnpm](https://daily.dev/tags/pnpm)

[View this post on daily.dev](https://daily.dev/posts/pnpm-12-rewrites-package-manager-in-rust-accelerating-installs-while-preserving-pnpm-11-workflows-gzakowmso)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"pnpm 12 Rewrites Package Manager in Rust, Accelerating Installs While Preserving pnpm 11 Workflows","url":"https://daily.dev/posts/pnpm-12-rewrites-package-manager-in-rust-accelerating-installs-while-preserving-pnpm-11-workflows-gzakowmso","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/pnpm-12-rewrites-package-manager-in-rust-accelerating-installs-while-preserving-pnpm-11-workflows-gzakowmso"},"datePublished":"2026-09-03T11:29:25.093Z","dateModified":"2026-09-03T11:30:26.579Z","description":"pnpm 12 replaces its TypeScript/Node.js implementation with a native Rust rewrite while preserving pnpm 11's commands, flags, lockfile format, and node_modules...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2437ae6dfc0b16487d3387a2982dde21?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2437ae6dfc0b16487d3387a2982dde21?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"InfoQ","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"InfoQ","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/afc3bced3e1e4b188dd9127017a60e0c","url":"https://daily.dev/sources/infoq"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/pnpm-12-rewrites-package-manager-in-rust-accelerating-installs-while-preserving-pnpm-11-workflows-gzakowmso","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"nodejs,rust,npm,pnpm","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"InfoQ","item":"https://daily.dev/sources/infoq"},{"@type":"ListItem","position":3,"name":"pnpm 12 Rewrites Package Manager in Rust, Accelerating Installs While Preserving pnpm 11 Workflows"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/pnpm-12-rewrites-package-manager-in-rust-accelerating-installs-while-preserving-pnpm-11-workflows-gzakowmso#faq","mainEntity":[{"@type":"Question","name":"What breaking change should I check before upgrading CI from pnpm 11 to pnpm 12?","acceptedAnswer":{"@type":"Answer","text":"The `pnpm install --resolution-only` flag has been removed in pnpm 12 and replaced by `pnpm peers check`. This is flagged as the most likely change to break CI pipelines that relied on the old flag. Other changes include canonical HTTPS resolution for Git dependencies on GitHub, GitLab, and Bitbucket, and unknown keys in `pnpm-workspace.yaml` now being reported instead of silently ignored. Teams tracking pnpm upgrade gotchas can follow breaking-change breakdowns like this on daily.dev."}},{"@type":"Question","name":"How much faster is pnpm 12 compared to pnpm 11 for cached installs?","acceptedAnswer":{"@type":"Answer","text":"A repeated install with warm cache, lockfile, and node_modules dropped from 472 milliseconds under pnpm 11 to 15 milliseconds under pnpm 12's Rust implementation, per pnpm's own benchmarks. A clean install of a file-heavy fixture fell from 8.2 seconds to 5 seconds. Independent testing on Vercel's 21-project Turborepo workspace with 1,670 packages showed median install-time reductions between 64.4% and 90.5% across six scenarios. Developers deciding between package managers can compare benchmark data like this on daily.dev."}},{"@type":"Question","name":"How do I install pnpm 12 if npm's latest tag still points to pnpm 11?","acceptedAnswer":{"@type":"Answer","text":"Run `pnpm self-update next-12` to upgrade an existing pnpm installation to version 12, since the npm `latest` tag still resolves to pnpm 11. At launch, Homebrew, winget, Scoop, and Chocolatey did not yet offer version 12, so the installation guide's npm and standalone-script options, including installation without Node.js, are the reliable paths. Developers rolling out new package manager versions can track rollout status and gotchas on daily.dev."}}]}
```

