A package manager (like
npm) handles two things for you: managing workspaces and installing packages.
Turborepo is compatible with four package managers:
- npm (opens in a new tab)
- pnpm (opens in a new tab)
- Yarn 1 (opens in a new tab)
- Yarn >=2 (docs coming soon)
You should use whichever you feel most comfortable with - but if you're a monorepo beginner, we recommend npm.
If you're comfortable with monorepos, we recommend pnpm. It's faster and offers some useful CLI options like
When you first clone or create your monorepo, you'll need to:
- Make sure you're in the root directory of your monorepo
- Run the install command:
You'll now see
node_modules folders appear in the root of your repository, and in each workspace.
You can add, remove and upgrade packages from within your monorepo using your package manager's built-in commands:
Install a package in a workspace
npm install <package> --workspace=<workspace>
npm install react --workspace=web
Remove a package from a workspace
npm uninstall <package> --workspace=<workspace>
npm uninstall react --workspace=web
Upgrade a package in a workspace
npm update <package> --workspace=<workspace>
npm update react --workspace=web