Velvet Star Monitor

Standout celebrity highlights with iconic style.

updates

How to clear Nx cache

Writer Sophia Terry

I have an Nx monorepo (). It has a folder with Nx cache (./node_modules/.cache/nx/). Its size for now is over 3GB.

Is there a command for clear this cache?

5 Answers

nx reset clears the cache.

Docs on nx reset:

Docs on the cache here:

The above answer nx clear-cache is for the jest cache. I would comment but no rep :)

2

Just delete the whole 'nx' cache folder:

rm -rf ./node_modules/.cache/nx
1

This works in the latest version as of today (February 12, 2022). I am uncertain why this is no longer in the CLI documentation despite evidence of it being there in the past:

nx clear-cache

3

There is not really any command to delete the Nx cache except to skip it or use the following command.

npx nx run build --skip-nx-cache

npx nx run test --skip-nx-cache

If size of the directory is your problem then may be running your node script as a cron job might be an option. In case, location of the directory is your concern then you also configure it and move it outside node_modules like this.

1

I have implemented such a solution, but do not find it convenient. Perhaps NX has a command to clear its cache, but I did not find it.

package.json

 "scripts": { "nx": "nx", "postnx": "node checkAndClearCache.js", ...

checkAndClearCache.js

const fs = require('fs');
const rimraf = require('rimraf');
const getSize = require('get-folder-size');
const cachePath = 'node_modules/.cache/nx';
const maxCacheMb = 2048;
if (fs.existsSync(cachePath)) { getSize(cachePath, (err, size) => { if (err) { throw err; } const MBSize = (size / 1024 / 1024).toFixed(2); console.log(`*** NX cache size is ${MBSize} Megabytes`); if (MBSize > maxCacheMb) { console.log('*** CLEAR NX CACHE ***'); rimraf.sync(cachePath); } });
}

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.