Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

InvalidArgumentError: invalid onRequestStart method (node 26.x)

未关闭
#1,242 1 条评论 4 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
38/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
冷清
技术栈
javascript, nodejs
领域
release

调研方向

通过运行 npx semantic-release,使用 Node v26.0.0 重现该故障,然后检查 stack trace 中显示的 @octokit/request 与 Node 的 undici 实现之间的交互。当 semantic-release 能够在 Node 26 上执行其 GitHub 请求且不出现无效的 onRequestStart 错误时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

Semantic-release/github stopped working with node 26 for me.

Looks like some incompatibility with the new undici implementation in node:

node --version
v26.0.0
npx semantic-release
...
[12:18:06 PM] [semantic-release] › ✘  An error occurred while running semantic-release: RequestError [HttpError]: invalid onRequestStart method
    at fetchWrapper (file:///XXX/build/pacc/node_modules/@octokit/request/dist-bundle/index.js:78:26)
    at async requestWithGraphqlErrorHandling (file:///XXX/build/pacc/node_modules/@octokit/plugin-retry/dist-bundle/index.js:39:20)
    at async Job.doExecute (/XXX/build/pacc/node_modules/bottleneck/light.js:405:18) {
  status: 500,
  request: {
    method: 'GET',
    url: 'https://api.github.com/repos/arlac77/pacc',
    headers: {
      accept: 'application/vnd.github.v3+json',
      'user-agent': '@semantic-release/github v12.0.8 octokit-core.js/7.0.6 Node.js/26',
      authorization: 'token [REDACTED]'
    },
    request: {
      agent: undefined,
      fetch: [Function: fetchWithDispatcher],
      hook: [Function: bound bound register],
      retryCount: 3,
      retries: 3,
      retryAfter: 16
    }
  },
  response: undefined,
  pluginName: '@semantic-release/github',
  [cause]: TypeError: fetch failed
      at Object.processResponse (/XXX/build/pacc/node_modules/undici/lib/web/fetch/index.js:237:16)
      at /XXX/build/pacc/node_modules/undici/lib/web/fetch/index.js:1081:19
      at /XXX/build/pacc/node_modules/undici/index.js:157:7
      at async fetchWrapper (file:///XXX/build/pacc/node_modules/@octokit/request/dist-bundle/index.js:52:21)
      at async requestWithGraphqlErrorHandling (file:///XXX/build/pacc/node_modules/@octokit/plugin-retry/dist-bundle/index.js:39:20)
      at async Job.doExecute (/XXX/build/pacc/node_modules/bottleneck/light.js:405:18) {
    [cause]: InvalidArgumentError: invalid onRequestStart method
        at assertRequestHandler (node:internal/deps/undici/undici:1873:15)
        at new Request (node:internal/deps/undici/undici:2856:9)
        at [dispatch] (node:internal/deps/undici/undici:9125:25)
        at Client.dispatch (node:internal/deps/undici/undici:736:33)
        at [dispatch] (node:internal/deps/undici/undici:1007:32)
        at Pool.dispatch (node:internal/deps/undici/undici:736:33)
        at [dispatch] (node:internal/deps/undici/undici:9610:27)
        at Agent.dispatch (node:internal/deps/undici/undici:736:33)
        at /XXX/build/pacc/node_modules/undici/lib/web/fetch/index.js:2154:51
        at new Promise (<anonymous>) {
      code: 'UND_ERR_INVALID_ARG'
    }
  }
}
AggregateError:
    HttpError: invalid onRequestStart method
        at fetchWrapper (file:///XXX/build/pacc/node_modules/@octokit/request/dist-bundle/index.js:78:26)
        at async requestWithGraphqlErrorHandling (file:///XXX/build/pacc/node_modules/@octokit/plugin-retry/dist-bundle/index.js:39:20)
        at async Job.doExecute (/XXX/build/pacc/node_modules/bottleneck/light.js:405:18)
    at file:///XXX/build/pacc/node_modules/semantic-release/lib/plugins/pipeline.js:55:13
    at async pluginsConfigAccumulator.<computed> [as verifyConditions] (file:///XXX/build/pacc/node_modules/semantic-release/lib/plugins/index.js:87:11)
    at async run (file:///XXX/build/pacc/node_modules/semantic-release/index.js:106:3)
    at async Module.default (file:///XXX/build/pacc/node_modules/semantic-release/index.js:278:22)
    at async default (file:///XXX/build/pacc/node_modules/semantic-release/cli.js:55:5)%
主要语言
JavaScript
星标
537
派生
149
平均合并
2 天 11 小时
30 天内合并 PR
10

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

semantic-release/github 的其他 Issue

查看 semantic-release/github 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。