DEV Community

Shelner
Shelner

Posted on

`pnpm` setting steps

Why use pnpm

  • Faster then npm
  • More dist-efficient (uses symlinks and a content-addressable store)
  • Strict by default (prevents dependency hoisting issues)

Steps

1. Install pnpm

npm install -g pnpm
Enter fullscreen mode Exit fullscreen mode

2. Initialize a new project

pnpm init
Enter fullscreen mode Exit fullscreen mode

This command creates a package.json file.

3. Install dependencies

Add a package:

pnpm add <package-name>
Enter fullscreen mode Exit fullscreen mode

Add a dev dependency:

pnpm add -D <package-name>
Enter fullscreen mode Exit fullscreen mode

Example:

pnpm add react
pnpm add -D typescript ts-node
Enter fullscreen mode Exit fullscreen mode

4. Run Scripts

In package.json, define scripts like this:

{
  "scripts": {
    "start": "node main.js",
    "dev": "vite"
  }
}
Enter fullscreen mode Exit fullscreen mode

Then run

pnpm start
pnpm dev
Enter fullscreen mode Exit fullscreen mode

5. Install all dependencies

pnpm install
Enter fullscreen mode Exit fullscreen mode

(Shortcut: pnpm i)

6. Other useful commands

Remove a package

pnpm remove <package-name>
Enter fullscreen mode Exit fullscreen mode

Update packages

pnpm update
Enter fullscreen mode Exit fullscreen mode

List installed packages

pnpm list
Enter fullscreen mode Exit fullscreen mode

A few notes when switching to pnpm:

  • pnpm creates a pnpm-lock.yaml instead of package-lock.json.
  • If you're using a monorepo, pnpm handles it differently (via workspaces).
  • You might want to delete node_modules and package-lock.json before switching to avoid conflicts:
rm -rf node_modules package-lock.json
pnpm install
Enter fullscreen mode Exit fullscreen mode

Top comments (0)