You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行npm install时出现‘Failed to remove some directories’错误求因

npm install清理阶段EPERM权限错误排查(Node v20.8.0)

问题描述

运行npm install可正常获取所有npm包,但进入清理阶段时出现如下EPERM权限错误:

3242 timing build:link Completed in 222ms
3243 info run deasync@0.1.28 install node_modules/deasync node ./build.js
3244 info run yorkie@2.0.0 install node_modules/yorkie node bin/install.js
3245 info run yorkie@2.0.0 install { code: 0, signal: null }
3246 timing build:run:install:node_modules/yorkie Completed in 235ms
3247 info run deasync@0.1.28 install { code: 1, signal: null }
3248 warn cleanup Failed to remove some directories [
3248 warn cleanup   [
3248 warn cleanup     'D:\\Repos\\XX\\frontend\\legacy\\node_modules\\@storybook\\addon-essentials',
3248 warn cleanup     [Error: EPERM: operation not permitted, rmdir 'D:\Repos\XX\frontend\legacy\node_modules\@storybook\addon-essentials\node_modules\@storybook\addon-docs\dist\modern'] {
3248 warn cleanup       errno: -4048,
3248 warn cleanup       code: 'EPERM',
3248 warn cleanup       syscall: 'rmdir',
3248 warn cleanup       path: 'D:\\Repos\\XX\\frontend\\legacy\\node_modules\\@storybook\\addon-essentials\\node_modules\\@storybook\\addon-docs\\dist\\modern'
3248 warn cleanup     }
3248 warn cleanup   ],
3248 warn cleanup   [
3248 warn cleanup     'D:\\Repos\\XX\\frontend\\legacy\\node_modules\\@storybook',
3248 warn cleanup     [Error: EPERM: operation not permitted, rmdir 'D:\Repos\XX\frontend\legacy\node_modules\@storybook\addon-essentials'] {
3248 warn cleanup       errno: -4048,
3248 warn cleanup       code: 'EPERM',
3248 warn cleanup       syscall: 'rmdir',
3248 warn cleanup       path: 'D:\\Repos\\XX\\frontend\\legacy\\node_modules\\@storybook\\addon-essentials'
3248 warn cleanup     }
3248 warn cleanup   ]
3248 warn cleanup ]

已确认无程序占用目标目录,且尝试以管理员身份运行npm install仍未解决问题,当前使用Node.js v20.8.0。

可能原因

  • Windows系统文件锁定:Windows的文件系统缓存、虚拟内存映射或后台进程(如Windows Defender实时扫描)可能隐性锁定了目录,导致npm无法删除,即便没有显式程序占用。
  • Node/npm兼容性问题:Node v20.x属于较新版本,部分旧依赖包(如deasync@0.1.28)未完成适配,其安装失败会导致后续清理流程异常,触发权限错误。
  • 嵌套目录权限继承异常:@storybook/addon-essentials内部嵌套了二级node_modules,Windows下嵌套目录的权限继承规则可能出现异常,导致父目录删除时子目录权限不足。
  • npm清理机制时序问题:npm在处理嵌套依赖清理时,可能存在时序漏洞,尝试删除父目录时子目录资源尚未完全释放,进而触发EPERM错误。

解决建议

  • 手动清理依赖文件:关闭所有相关终端、IDE后,手动删除node_modules文件夹和package-lock.json文件,再重新执行npm install。
  • 临时禁用杀毒软件扫描:临时关闭Windows Defender实时保护,再运行npm install,排查是否是杀毒软件锁定了目标文件。
  • 降级Node版本:尝试切换到Node v18.x LTS版本,该版本兼容性更成熟,适配大部分旧依赖包。
  • 使用npm强制安装参数:运行npm install --force强制覆盖依赖,或npm install --legacy-peer-deps处理peer依赖冲突,避免因依赖异常引发的清理错误。
  • 强制删除锁定目录:用管理员权限打开PowerShell,执行以下命令强制删除锁定目录:
    Remove-Item -Path "D:\Repos\XX\frontend\legacy\node_modules\@storybook\addon-essentials" -Recurse -Force
    
    之后重新运行npm install。

内容的提问来源于stack exchange,提问作者Brum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 15:58:09