【问题标题】:fs-extra throwing ERROR: EBUSY: resource busy or lockedfs-extra 抛出错误:EBUSY:资源繁忙或锁定
【发布时间】:2021-09-12 15:45:40
【问题描述】:

我正在尝试使用 fs-extra 异步删除一个文件和一个文件夹。 但它抛出以下错误。

import fse from 'fs-extra';
    function deleteMethod (foldername){
    fse.remove(`${foldername}-tar.gz`)
    .then(() => fse.remove(foldername))
    .then(() => çonsole.log('successfully deleted'))
    .catch((err) => console.log(err))
    }

回复:

{ [Error: EBUSY: resource busy or locked, unlink'D:rootpath\15\image.jpg']   
errno: -4082,   
code: 'EBUSY',   
syscall:'unlink',   
path:    'D:rootpath\15\image.jpg' }

第二个删除语句发生错误。 有人可以解释一下为什么会这样吗?

【问题讨论】:

  • 这个错误意味着其他一些程序/进程正在使用文件'image.png'。尝试关闭它打开的任何程序。这能解决您的问题吗?
  • 谢谢。但这并没有解决问题。
  • 为什么参数叫foldername把你传的是文件路径?或者你实际上传递了什么导致错误的值?
  • 找到文件打开的地方。问题解决了。谢谢大家

标签: javascript node.js fs-extra


【解决方案1】:

出现此问题是因为另一个程序当前正在访问该文件并且可能随时更改其内容(理论上),因此您的操作系统也不允许您进行更改。这适用于所有操作系统。操作系统不希望在不同程序中打开同一文件的多个副本,因为这将无法确定哪个副本是真实版本,或者如何正确合并更改等等。本质上,您必须终止当前使用该文件的程序才能读取/写入它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-08
    • 2021-12-21
    • 1970-01-01
    • 2022-01-18
    • 2019-01-03
    • 2021-08-21
    • 2020-09-08
    相关资源
    最近更新 更多