GitHub Actions出现ReferenceError: ReadableStream未定义的原因与解决
问题分析与解决
成因
你遇到的ReferenceError: ReadableStream is not defined错误,根源在于actions/github-script@v6.3.3依赖的undici库(用于处理HTTP请求)发生了非预期的版本升级。近期undici的新版本引入了对ReadableStream API的依赖,但这个API在你当前使用的GitHub Actions运行环境中未被支持——可能是因为环境中的Node.js版本较低,或是旧版github-script未针对新的undici版本做兼容性适配。由于你近一年未修改工作流,这个问题是依赖自动更新触发的兼容性冲突。
最快解决方法
以下是三种优先级从高到低的解决方案,按需选择:
1. 升级actions/github-script到最新稳定版
这是最彻底的解决方式,新版本已经修复了这类依赖兼容性问题,且完全适配当前GitHub Actions的运行环境。只需修改工作流中的引用:
- uses: actions/github-script@v7
替换原有的@v6.3.3即可,无需改动原有脚本逻辑。
2. 锁定undici的兼容版本
如果暂时不想升级github-script,可以强制指定一个与v6.3.3兼容的undici版本,避免自动升级到有问题的版本:
- uses: actions/github-script@v6.3.3 with: script: | # 你的原有触发父仓库更新的脚本代码 dependencies: | undici@5.22.1
undici@5.22.1是经过验证的、不依赖ReadableStream新特性的版本,能和v6.3.3完美兼容。
3. 指定Node.js版本为16+
ReadableStream在Node.js 16及以上版本中已被原生支持,因此可以在工作流中先设置对应版本的Node.js:
- uses: actions/setup-node@v4 with: node-version: '16' - uses: actions/github-script@v6.3.3 # 你的原有配置和脚本
内容的提问来源于stack exchange,提问作者Tyler
相关产品推荐
相关产品推荐

