- Published on
How to Replace All Node_Modules with pnpm Cache
- Authors
- Name
- Ripal & Zalak
How to Replace All Node_Modules with pnpm Cache
node_modules
directories are notorious for consuming large amounts of disk space. If you’re looking for a way to clean up your system and use pnpm
's efficient caching mechanism, this guide provides step-by-step instructions to achieve that.
Why Switch to pnpm?
pnpm
solves the problem of bloated node_modules
directories by:
- Creating a single global store for dependencies.
- Using symbolic links to connect projects to the global cache.
This approach reduces disk space usage significantly and speeds up installations by avoiding redundant downloads.
Steps to Remove All Node_Modules and Use pnpm
node_modules
Directories
1. Remove All Use NPKill
The easiest way to remove all node_modules
directories is by using NPKill, a CLI tool designed for this purpose.
Installation:
npm install -g npkill
node_modules
:
Find and Delete All npkill
This command scans your file system, lists all node_modules
directories, and allows you to delete them interactively.
2. Install pnpm Globally
If you haven’t already, install pnpm
:
npm install -g pnpm
3. Migrate Projects to pnpm
For each project you want to convert to pnpm
:
Delete Existing Lock Files:
rm package-lock.json yarn.lock
Install Dependencies with pnpm:
pnpm install
This command:
- Recreates the
node_modules
directory with symlinks. - Stores dependencies in
pnpm
's global cache.
- Recreates the
Update Scripts (Optional): Replace
npm
oryarn
commands withpnpm
equivalents in yourpackage.json
scripts.
4. Verify pnpm Cache Usage
You can check pnpm
's global store location and size:
pnpm store path
pnpm store status
Tips for Maintaining a Clean System
Regularly Clean the pnpm Cache: Over time,
pnpm
's cache can also grow. Use this command to clean unused packages:pnpm store prune
Automate the Cleanup Process: Schedule a script to find and remove old
node_modules
directories on your system periodically.
Frequently Asked Questions
node_modules
?
1. Can pnpm automatically scan and replace all No, pnpm
doesn’t currently have a feature to scan all directories for node_modules
and replace them automatically. You need to handle the cleanup manually using tools like npkill
.
2. Will my projects work seamlessly after switching to pnpm?
In most cases, yes. However, ensure that your package.json
scripts and project configurations are compatible with pnpm
. Refer to the pnpm compatibility guide for more details.
3. What happens to disk usage after switching to pnpm?
You’ll notice a significant reduction in disk space usage as pnpm
uses symlinks and a global store instead of duplicating dependencies in each project.
Conclusion
By removing all node_modules
and switching to pnpm
, you can drastically reduce disk space usage and improve dependency management efficiency. Tools like npkill
make the cleanup process simple, while pnpm
ensures smooth installations with its global cache.