首次使用后NPM模块自动删除问题求助
解决Node.js v20.11.1 LTS中npm文件夹自动删除导致MODULE_NOT_FOUND的问题
问题重现
安装Node.js v20.11.1 LTS后,首次执行npm install express成功,但后续执行npm install mysql时报错:
C:\Program Files\nodejs>npm install mysql node:internal/modules/cjs/loader:1147 throw err; ^ Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15) at Module._load (node:internal/modules/cjs/loader:985:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.11.1
核心问题:每次修复/重装Node.js后,只要执行npm install命令,C:\Program Files\nodejs\node_modules\npm文件夹会自动删除,导致后续npm命令无法执行。
解决方案
1. 更换Node.js安装目录(优先尝试)
Windows系统中C:\Program Files是受系统保护的目录,普通用户权限下npm操作可能触发系统防护机制删除文件:
- 卸载当前Node.js,右键以管理员身份运行安装包
- 选择「自定义安装」,将安装路径改为非系统目录(如
D:\Node.js) - 确保安装目录的读写权限开放(右键文件夹→属性→安全→编辑,给当前用户分配完全控制权限)
2. 排查杀毒/安全软件误删
部分杀毒软件会将npm的核心文件误判为恶意程序:
- 临时关闭系统自带的Windows Defender实时保护,或第三方杀毒软件
- 重新安装Node.js,执行
npm install测试是否还会删除npm文件夹 - 若问题解决,将Node.js安装目录添加到杀毒软件的信任列表/白名单
3. 清理npm缓存
缓存损坏可能导致安装过程中文件异常:
- 若刚重装完Node.js还能执行npm,先运行:
npm cache clean --force - 若已无法执行npm,手动删除缓存目录:
C:\Users\<你的用户名>\AppData\Roaming\npm-cache - 重新尝试安装模块
4. 重新下载并校验安装包
安装包损坏可能导致npm组件不完整:
- 重新下载Node.js v20.11.1 LTS安装包,校验官网提供的哈希值确保文件完整
- 右键以管理员身份运行安装包,选择「修复」选项,或完全卸载后重新安装
5. 检查系统环境变量
环境变量异常可能导致npm路径错误:
- 打开系统环境变量(右键此电脑→属性→高级系统设置→环境变量)
- 检查
PATH变量是否包含Node.js安装目录(如C:\Program Files\nodejs\),若缺失手动添加 - 若存在
NODE_PATH变量,检查其值是否指向正确的node_modules目录,错误则删除或修正
内容的提问来源于stack exchange,提问作者Adarsh
相关产品推荐
相关产品推荐

