- Регистрация
- 1 Мар 2015
- Сообщения
- 1,481
- Баллы
- 155
Why use pnpm
1. Install pnpm
npm install -g pnpm
2. Initialize a new project
pnpm init
This command creates a package.json file.
3. Install dependencies
Add a package:
pnpm add <package-name>
Add a dev dependency:
pnpm add -D <package-name>
Example:
pnpm add react
pnpm add -D typescript ts-node
4. Run Scripts
In package.json, define scripts like this:
{
"scripts": {
"start": "node main.js",
"dev": "vite"
}
}
Then run
pnpm start
pnpm dev
5. Install all dependencies
pnpm install
(Shortcut: pnpm i)
6. Other useful commands
Remove a package
pnpm remove <package-name>
Update packages
pnpm update
List installed packages
pnpm list
A few notes when switching to pnpm:
rm -rf node_modules package-lock.json
pnpm install
- Faster then npm
- More dist-efficient (uses symlinks and a content-addressable store)
- Strict by default (prevents dependency hoisting issues)
1. Install pnpm
npm install -g pnpm
2. Initialize a new project
pnpm init
This command creates a package.json file.
3. Install dependencies
Add a package:
pnpm add <package-name>
Add a dev dependency:
pnpm add -D <package-name>
Example:
pnpm add react
pnpm add -D typescript ts-node
4. Run Scripts
In package.json, define scripts like this:
{
"scripts": {
"start": "node main.js",
"dev": "vite"
}
}
Then run
pnpm start
pnpm dev
5. Install all dependencies
pnpm install
(Shortcut: pnpm i)
6. Other useful commands
Remove a package
pnpm remove <package-name>
Update packages
pnpm update
List installed packages
pnpm list
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