migration

Migrer de npm vers pnpm

Licence et conditions

npm
Other, Open source
pnpm
MIT, Open source
Type de remplacement
Remplacement complet Same package.json, a content-addressed store and its own lockfile.

Cette page est rédigée en anglais.

Compatibility

pnpm installs from the same package.json, but it does not read npm’s lockfile. package-lock.json and npm-shrinkwrap.json are ignored: npm can install the same name@version several times with different dependencies, and its lockfile describes a flat node_modules, which pnpm’s isolated layout cannot follow.

To keep the versions you have resolved today, pnpm import generates a pnpm-lock.yaml from another package manager’s lockfile. It accepts package-lock.json, npm-shrinkwrap.json and yarn.lock.

Before you switch

  1. Declare workspaces first. If the project has workspaces whose dependencies you want imported, list them in a pnpm-workspace.yaml file before running the import.
  2. Convert the lockfile. Run pnpm import next to your existing package-lock.json or npm-shrinkwrap.json.

The official page stops at the lockfile. It does not say what to do with the npm lockfile afterwards, or how to change CI and scripts that call npm.

Pitfalls

Guide officiel

Guide de migration de pnpm ↗

Relue le 2026-09-29.

Sources

Autres alternatives à npm →