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

时间:2019-03-17 23:11:32

标签: 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"
},

错误日志:

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)

10 个答案:

答案 0 :(得分:16)

如果上述所有解决方案均不起作用,并且您正在使用Windows PC(例如我的情况),最简单的操作是:

  1. 按键盘上的 Windows键 R 打开运行命令框,然后键入

    resmon.exe

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

  3. 在监视器中,导航至 CPU 标签
  4. 在搜索框中的 Associated Handles 下,将 path 复制到相关文件或文件夹并将其粘贴在其中
  5. 点击搜索图标
  6. 您应该能够使用该文件或文件夹查看所有程序
  7. 右键单击每个并结束处理

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

我只是希望它能对某人有所帮助。

答案 1 :(得分:1)

此问题是由于缓存原因,请在终端上运行以下命令

npm cache verify

答案 2 :(得分:1)

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

解决方案(我所做的npm缓存清理操作也不起作用,然后我删除了程序包锁并开始工作)

simply delete package-lock

清理缓存

npm cache clean

还清除缓存(可选)

npm install --cache

答案 3 :(得分:0)

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

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

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

万一链接停止工作,这是最受好评的评论:

  

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

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

答案 4 :(得分:0)

我能够解决杀死npm和Java进程的问题。我在运行Cordova运行android时遇到问题,因此杀死npm和java进程可以帮助我解决问题。

答案 5 :(得分:0)

解决此问题的简单方法是:

  1. 删除Nuxt.js项目上的/dist目录。
  2. 再次运行npm run generate或运行npm run build

答案 6 :(得分:0)

您可以删除以下文件夹,然后重试。为我工作。

C:\Users\{username}\AppData\Local\Temp\npm-xxxxxxxxxx\

答案 7 :(得分:0)

我遇到了同样的问题并找到了原因 - 该项目位于同步和锁定 node_modules 文件夹的 dropbox 文件夹中。 我关闭了保管箱,它起作用了。

答案 8 :(得分:0)

对于 Angular VsCode 用户:

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

更改目录或杀死该终端实例即可解决问题。

答案 9 :(得分:-3)

node_modules 文件夹中的内容会使驱动器上出现坏扇区,为此驱动器使用碎片整理和优化软件可以减少此类问题。