graceful-fs 作为 fs 模块的替代品,进行了各种改进。
这些改进旨在规范跨不同平台和环境的行为,并使文件系统访问对错误更具弹性。
- 排队
open
并readdir
调用,如果有来自太多文件描述符的 EMFILE 错误,则在某事关闭后重试它们。 - 修复
lchmod
了 0.6.2 之前的 Node 版本。 fs.lutimes
如果可能的话实施。否则它会变成一个 noop。- 中的忽略
EINVAL
和EPERM
错误chown
,fchown
或者lchown
如果用户不是 root。 - 如果不可用,则制作
lchmod
并成为 noops。lchown
read
如果导致 EAGAIN 错误,则重试读取文件。
EACCESS
在 Windows 上,如果发生错误,它可能会重命名文件最多一秒钟EPERM
,这可能是因为防病毒软件已锁定目录。