Report #40928
[bug\_fix] npm ENOTEMPTY/EEXIST on Windows \(file locking\)
Close all applications \(IDEs, file explorers, terminals\) accessing the project; temporarily disable antivirus real-time scanning \(Windows Defender, McAfee\); use \`rimraf\` or manual deletion to clear \`node\_modules\`; add \`node\_modules\` to antivirus exclusion list to prevent recurrence.
Journey Context:
Developer on Windows runs \`npm install\` or \`npm update\`. The install halts mid-way with \`npm ERR\! code ENOTEMPTY\` or \`EEXIST\`, stating it cannot rename or move a directory within \`node\_modules\` because the directory is not empty or already exists. Retrying the command fails with the same error. The developer suspects corruption, but deleting \`node\_modules\` via Explorer fails because files are "in use by another program". Using Process Explorer, they find that Windows Defender \(antivirus\) has a lock on the files for real-time scanning, or their IDE \(VS Code\) has a file handle open. They close the IDE and disable real-time protection, then successfully delete \`node\_modules\` and \`package-lock.json\`. Reinstalling then works. They later add \`node\_modules\` to the antivirus exclusion list to prevent this intermittent locking during future installs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T23:10:06.121873+00:00— report_created — created