错误:EBUSY:资源繁忙或锁定,rmdir

Xia*_*Cao 20 node.js angular5

在 Windows 中执行以下步骤后发生错误:

  1. 打开一个终端: npm run start:dev
  2. 打开另一个终端: ng build --watch

但是,它可以通过使用上述命令在 Mac 中运行。package.json 配置的一部分是:

"scripts": {
"ng": "ng",
"start:dev:prod": "ng build --prod && cd dist/ && node static/server.js",
"start": "node static/server.js",
"build:prod": "ng build --prod",
"test": "ng test --code-coverage",
"lint": "ng lint",
"e2e": "ng e2e",
"start:dev": "npm run build & cd dist/ & SET APP_ENV=dev & node static/server.js",
"build": "ng build"
},
Run Code Online (Sandbox Code Playgroud)

错误日志:

Error: EBUSY: resource busy or locked, rmdir 'C:\AngularProject\dist'
Error: EBUSY: resource busy or locked, rmdir 'C:\Spring-Intern-Projects\wdpr-accounting-reference-client\dist'
at Object.rmdirSync (fs.js:701:3)
Run Code Online (Sandbox Code Playgroud)

Nic*_*rev 42

如果上述所有解决方案都不起作用,并且您使用的是像我这样的 Windows PC,那么最简单的方法是:

  1. 按键盘上的windows 键R打开运行命令框并键入

    resmon.exe

  2. 单击确定打开资源监视器

  3. 在监视器中,导航到CPU选项卡
  4. 在搜索框中的关联句柄下,复制相关文件或文件夹的路径并将其粘贴到那里
  5. 点击搜索图标
  6. 您应该能够看到使用该文件或文件夹的所有程序
  7. 右键单击每个并结束进程

现在,继续您尝试对文件或文件夹执行的操作。就我而言,我在通过 npm使用react-create-app时遇到问题。更多信息在这里#117908

我只是希望它可以帮助某人。


小智 18

此问题是由于缓存造成的,请在终端中运行以下命令

npm cache verify
Run Code Online (Sandbox Code Playgroud)


Len*_*man 18

对于 VsCode 用户:

检查您尝试删除的目录/文件夹是否在终端中打开。可能有多个终端实例,因此请检查是否有。

更改在终端中打开的目录或终止该终端实例将解决该问题。

如果这些都不起作用,请关闭 vscode 并重试。谢谢@Vugar Abdullayev

  • 也有助于关闭可视代码,因为有时终端还不够。 (2认同)
  • @VugarAbdullayev 是的,这是正确的。感谢您指出 (2认同)

Joe*_*984 7

您看到此错误的主要原因是程序出于某种原因锁定了文件夹。在一次关闭一个程序的同时测试该命令可以帮助解决问题并让您知道哪个程序是罪魁祸首。

人们遇到的一个问题是 Windows 上的反恶意软件。您可以在此处阅读此主题:

https://github.com/npm/npm/issues/13461

如果链接在这里停止工作是最受好评的评论:

在 Windows 10 64 位操作系统中,我通过卸载反恶意软件软件解决了这个问题。

触发此错误的另一种方法是,如果您正在运行npm run [command]while cd 进入其更改的目录。这发生在我身上,我关闭了每个程序但它不起作用,但意识到我在dist需要删除和重建的文件夹中。这Error: EBUSY: resource busy or locked, rmdir在 PowerShell 中触发了错误,并且每次都可以重现。


Bal*_*aji 7

这是通过覆盖一些 npm 发生的,因此它锁定了你的源代码

解决方案(我所做的 npm cache clean 也不起作用,然后我删除了包锁开始工作)

  1. 只需删除包锁

  2. 清理缓存。

    npm cache clean

    还清除缓存(可选)

  3. npm install --cache