Global cache
Rush maintains a shared store at ~/.rush/store/ that persists extracted packages across all projects on your machine. When the same package version is needed by multiple projects, it is extracted only once and reused — no redundant downloads or disk duplication.
Store layout
Section titled “Store layout”~/.rush/store/├── [email protected]/ ← extracted once, shared across all projects├── [email protected]/└── [email protected]/Inside each project, node_modules/.rush/ mirrors the same structure as a working set for that install.
How caching works
Section titled “How caching works”On each install, Rush checks three layers in order:
- Integrity sentinel — if
node_modules/.rush/<name>@<version>/.rush-integritymatches the expected hash, the package is already valid. Skip everything. - Global store — if the package exists in
~/.rush/store/, copy it in without downloading. - Registry — download the tarball, verify SHA-512 integrity, extract, and write to the global store.
This means a cold install on a new project is fast if you’ve installed the same packages before in any other project.
Bypassing the cache
Section titled “Bypassing the cache”| Flag | Effect |
|---|---|
--force | Re-download and re-extract all packages, ignoring the store and sentinels |
--no-cache | Disable both the metadata (packument) cache and shared-store reuse for this run |
rush install --force # full refreshrush install --no-cache # no registry cache, no store reuseRegistry metadata cache
Section titled “Registry metadata cache”Packuments (the JSON registry index for each package) are cached separately at:
~/.rush/registry-cache/<name>.jsonThis avoids repeated HTTP round-trips when resolving the same package across multiple installs. --no-cache bypasses this too.