You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node中合法的glob调用为何会偶尔静默失败?

glob@9 静默失败问题求助

问题代码

glob("./bin/Documentation/images/*.gif", {}, async function (er, files) {
    if (er)
        return console.error(er)
    for (filename of files) {
        execFileSync(gifsicle, ['-O2', '-o', filename, filename]);
    }
})

问题现象

这段代码原本是可用的生产代码,近期突然出现异常:调试追踪显示代码能正常生成文件列表,但随后会静默失败——程序直接退出,既没有报错、抛出任何异常,也从未进入回调函数,完全没有可排查的线索。推测问题可能出在Promise展开过程中。

当前使用的是glob@9版本,因后续版本存在破坏性变更,无法升级。

核心疑问

  1. 像glob这种被广泛使用的工具,为何会出现这类无任何报错的静默失败情况?目前未找到相关资料提及该问题。
  2. 遇到这类无报错、无异常输出的静默失败问题,该如何进行调试排查?

复现步骤

目前唯一的复现方式是完整执行以下操作:

  • 克隆指定仓库
  • 执行依赖安装命令:npm i rimraf@3 compress-images web-resource-inliner ncp gifsicle@5.3.0 concat ycssmin terser gzipper html-minifier-terser glob@9
  • 执行编译命令:node ./compile.js

希望有遇到过同类问题的开发者能提供解决方案。


内容的提问来源于stack exchange,提问作者david.pfx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 20:27:34