Skip to main content

pnpm Most Important Commands

A quick reference of the pnpm commands you reach for every day.

Install everything

pnpm install

Equivalent:

pnpm i

In CI:

pnpm install --frozen-lockfile

This fails if pnpm-lock.yaml is out of sync.

Add dependency

pnpm add react

Dev dependency:

pnpm add -D typescript

Global package:

pnpm add -g vercel

Add to workspace root:

pnpm add -w -D typescript

Remove dependency

pnpm remove lodash

Alias:

pnpm rm lodash

Run scripts

pnpm dev
pnpm build
pnpm test

Or explicitly:

pnpm run dev

pnpm run executes scripts from package.json. (pnpm)

Execute local binaries

pnpm exec vite
pnpm exec eslint .

pnpm exec runs commands in the project context and adds node_modules/.bin to PATH. (pnpm)

Run a package without installing it permanently

pnpm dlx create-vite
pnpm dlx shadcn@latest init

pnpm dlx fetches a package temporarily and runs its exposed binary. (pnpm)

Update dependencies

pnpm update

Interactive upgrade:

pnpm update --interactive

Latest versions:

pnpm update --latest

List dependencies

pnpm list

Why is this package installed?

pnpm why react

Clean/store commands

Show store path:

pnpm store path

Prune unused packages from store:

pnpm store prune

Workspace filtering

Run command only for one package:

pnpm --filter @acme/web build

Run tests for package and dependencies:

pnpm --filter @acme/web... test

Run for packages changed since branch:

pnpm --filter "...[origin/main]" test

This is extremely useful in monorepos.