解决:ENOTEMPTY: directory not empty, rename ‘node_modules/webpack‘ -> ‘node_modules/.webpack-E4nb的三种方式

1、问题描述:

其一、报错为:

npm ERR! ENOTEMPTY: directory not empty, rename '/usr/local/lib/node_modules/webpack' -> '/usr/local/lib/node_modules/.webpack-ENG41nb9'

// 报错的整体代码为:

javascript 复制代码
npm ERR! code ENOTEMPTY
npm ERR! syscall rename
npm ERR! path /usr/local/lib/node_modules/webpack
npm ERR! dest /usr/local/lib/node_modules/.webpack-ENG41nb9
npm ERR! errno -66
npm ERR! ENOTEMPTY: directory not empty, rename '/usr/local/lib/node_modules/webpack' -> '/usr/local/lib/node_modules/.webpack-ENG41nb9'

npm ERR! A complete log of this run can be found in:

中文为:

npm 错误! ENOTEMPTY:目录不为空,重命名 '/usr/local/lib/node_modules/webpack' -> '/usr/local/lib/node_modules/.webpack-ENG41nb9

其二、问题描述为:

在用 npm 工具来管理 vue 项目时,突然报了一个这样的错误,想简单的删除 node_modules 文件,然后再重新 npm i 来建立新的 node_module 文件,却发现一直解决不了;

其三、报错面显示为:

2、问题分析:

应该是再次编译时目录名字 webpack 等发生了改变,里面存在目录为空的情况;

3、问题解决:

方式一、删除 node_modules 后再重编译:

A、输入命令:npm cache clean --force;
B、将 node_modules 文件夹删除;

// 但我的问题是:不能将 node_modules 文件夹成功删除;

C、输入命令:npm i

方式二、删除 npm 和 cache 的文件信息再重编译:

A、输入命令:npm cache clean --force;
B、删除:package-lock.json 文件;
C、找到 C:\Users\admin\AppData\Roaming 下的 npm 和 cache 文件夹,并删除其下的文件信息:
D、输入命令:npm i

方式三、抛弃 npm 管理工具而使用 yarn 管理工具(我的问题就是在此解决的):

可以参考我的这篇文章:

https://blog.csdn.net/weixin_43405300/article/details/131533642?spm=1001.2014.3001.5501

在 yarn 工具能成功运行之后,这个问题就成功解决了;

方式四、ChatGPT 的方案(仅供参考):

ENOTEMPTY: directory not empty 这个错误通常发生在尝试重命名一个目录时,操作失败,因为目录不为空。换句话说,目录中包含一个或多个文件或子目录,而重命名过程在目录非空的情况下无法进行;要解决此问题,您需要确保在尝试重命名操作之前,目标目录是空;

A、检查目录内容:

验证要重命名的目录的内容,确保其中没有文件或子目录;

B、删除文件和子目录:

如果在目标目录中发现任何文件或子目录,请将它们移动或删除到其他位置,根据您的要求进行操作;

C、重试重命名操作:

在目录为空之后,再次尝试重命名操作。

D、下面是使用命令行检查目录内容和删除文件的示例(假设您使用的是基于Unix的系统):

// 请在使用 rm 命令删除文件或目录时谨慎操作,因为这是一项永久操作,删除后无法恢复数据;

// 在进行任何更改之前,请务必备份重要数据。

bash 复制代码
# 切换到包含要重命名的目录的父目录
cd /path/to/parent/directory/

# 列出目录的内容
ls -la /path/to/parent/directory/

# 如果看到任何文件或子目录,请将它们删除(在删除之前确保备份重要数据)
rm -r /path/to/parent/directory/文件名或子目录名

# 重试重命名操作
mv /path/to/parent/directory/旧目录名 /path/to/parent/directory/新目录名

4、小结:

其一、哪里有不对或不合适的地方,还请大佬们多多指点和交流!
其二、有兴趣的话,可以多多关注这个专栏(Vue(Vue2+Vue3)面试必备专栏):https://blog.csdn.net/weixin_43405300/category_11525646.html?spm=1001.2014.3001.5482

相关推荐
传人once7 小时前
多图片上传预览功能如何写
前端·css·html·jquery·html5
Eric.467 小时前
Wan‑Animate+MiniMax-H3 本地部署 AI 漫剧流水线:8G 显存动作迁移与动态分镜工程实战
前端·人工智能·comfyui·ai漫剧
Seraphina367 小时前
SQL注入(二)盲注
网络·数据库·经验分享·笔记·sql
库拉镜像AI牛牛9 小时前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别
律宏阔9 小时前
Flutter 列表图片内存优化:CachedNetworkImage 与 ClipRRect 的取舍
前端·flutter
行者全栈架构师9 小时前
【鸿蒙心迹】相册文搜图工程化落地:HarmonyOS 7.0 端侧 AI 检索全链路实战与 5 个踩坑解法
前端
律宏阔9 小时前
Dart 3 Record:解决 Future.wait 异构返回值的类型问题
前端·flutter
Seraphina369 小时前
DVWA(XSS Reflected/Stored High,CSRF Low)
前端·xss·csrf
默_笙10 小时前
🍔 中间件不只是打日志:四个钩子、一次短路,和自带的工具
前端·javascript
程序员老赵10 小时前
Docker 部署 Dolibarr:轻松搭建开源 ERP/CRM 平台
运维·前端·后端