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

Infinite error loop when using new netlify-cli (Netlify Database)

未关闭
#8,231 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
42/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
冷清
技术栈
deno, typescript, vite
领域
cli

调研方向

使用提供的 liblove 仓库和 netlify.toml,通过 netlify dev 重现该循环。先从 dist/utils/command-helpers.js 和 dist/commands/main.js 中显示的错误路径开始,然后跟踪 Deno CLI 启动后的未处理失败。当命令只报告一次失败或能够恢复,而不是无限打印失败信息时,即表示完成。

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

描述

type: bug
Describe the bug

This is a new app, attempting to use the new Netlify Database, so I updated to version 26 of netlify-cli.

When running netlify dev, it builds the frontend app, launches the browser, then spews this in a tight loop thousands of times:

› Warning: Error: Netlify CLI has terminated unexpectedly.
›
› Please report this problem with reproduction steps at https://ntl.fyi/cli-error including the error details below.
›

This message repeats until I manage to kill the process.

Here is the log (with verbose --debug) just before the error starts repeating.

`netlify dev --debug` output
  VITE v7.3.1  ready in 2566 ms

⠏ Waiting for #custom dev server to be ready on port 4200
  ➜  Local:   http://localhost:4200/
  ➜  Network: use --host to expose
⠋ Waiting for #custom dev server to be ready on port 4200
✔ #custom dev server ready on port 4200
Build step duration: dev.command completed in 3630ms
2026-05-02T18:22:24.995Z router use '/' textParser
2026-05-02T18:22:24.997Z router:layer new '/'
2026-05-02T18:22:24.998Z router use '/' rawParser
2026-05-02T18:22:24.999Z router:layer new '/'
2026-05-02T18:22:24.999Z router use '/' formSubmissionHandler
2026-05-02T18:22:24.999Z router:layer new '/'
2026-05-02T18:22:24.999Z router use '/' loggingMiddleware
2026-05-02T18:22:24.999Z router:layer new '/'
2026-05-02T18:22:25.000Z router:route new '{*splat}'
2026-05-02T18:22:25.000Z router:layer new '{*splat}'
2026-05-02T18:22:25.000Z router:route acl {*splat}
2026-05-02T18:22:25.000Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route bind {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route checkout {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route connect {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route copy {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route delete {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route get {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route head {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route link {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route lock {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route m-search {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route merge {*splat}
2026-05-02T18:22:25.001Z router:layer new '/'
2026-05-02T18:22:25.001Z router:route mkactivity {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route mkcalendar {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route mkcol {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route move {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route notify {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route options {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route patch {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route post {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route propfind {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route proppatch {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route purge {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route put {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route query {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route rebind {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route report {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route search {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.002Z router:route source {*splat}
2026-05-02T18:22:25.002Z router:layer new '/'
2026-05-02T18:22:25.003Z router:route subscribe {*splat}
2026-05-02T18:22:25.003Z router:layer new '/'
2026-05-02T18:22:25.003Z router:route trace {*splat}
2026-05-02T18:22:25.003Z router:layer new '/'
2026-05-02T18:22:25.003Z router:route unbind {*splat}
2026-05-02T18:22:25.003Z router:layer new '/'
2026-05-02T18:22:25.003Z router:route unlink {*splat}
2026-05-02T18:22:25.003Z router:layer new '/'
2026-05-02T18:22:25.003Z router:route unlock {*splat}
2026-05-02T18:22:25.003Z router:layer new '/'
2026-05-02T18:22:25.003Z router:route unsubscribe {*splat}
2026-05-02T18:22:25.003Z router:layer new '/'
⬥ Functions server is listening on 53617

   ╭─────────────────────── ⬥  ────────────────────────╮
   │                                                   │
   │   Local dev server ready: http://localhost:8888   │
   │                                                   │
   ╰───────────────────────────────────────────────────╯

Using global installation of Deno CLI
Local version of types is up-to-date: 69ea7663762a1800080069da
 ›   Warning: Error: Netlify CLI has terminated unexpectedly.
 ›   
 ›   Please report this problem with reproduction steps at https://ntl.fyi/cli-error including the error details below.
 ›   
 ›       at toError (file:///Users/tcjr/Library/pnpm/global/5/.pnpm/[email protected]_@[email protected]_@[email protected][email protected][email protected]/node_modules/netlify-cli/dist/utils/command-helpers.js:144:16)
 ›       at logError (file:///Users/tcjr/Library/pnpm/global/5/.pnpm/[email protected]_@[email protected]_@[email protected][email protected][email protected]/node_modules/netlify-cli/dist/utils/command-helpers.js:155:17)
 ›       at process.<anonymous> (file:///Users/tcjr/Library/pnpm/global/5/.pnpm/[email protected]_@[email protected]_@[email protected][email protected][email protected]/node_modules/netlify-cli/dist/commands/main.js:71:9)
 ›       at process.emit (node:events:509:28)
 ›       at process._fatalException (node:internal/process/execution:159:25)
 ›       at throwUnhandledRejectionsMode (node:internal/process/promises:394:5)
 ›       at processPromiseRejections (node:internal/process/promises:475:17)
 ›       at processTicksAndRejections (node:internal/process/task_queues:105:32)
 ›   Warning: Error: Netlify CLI has terminated unexpectedly.
 ›   

Then, the above errors appear tens of thousands of times.

The deployed app is working. See it here: https://liblove.netlify.app/

Steps to reproduce
  1. Clone the repo: https://github.com/tcjr/liblove.git
  2. cd liblove
  3. pnpm install
  4. netlify dev
Configuration

netlify.toml contents:

[build]
  command = "pnpm build"
  publish = "dist"
  functions = "netlify/functions"

  # Redirects all traffic to index.html for SPAs like Ember
  [[redirects]]
    from = "/*"
    to = "/index.html"
    status = 200

  ## Settings for Netlify Dev
  ## https://github.com/netlify/cli/blob/main/docs/netlify-dev.md#project-detection
  [dev]
    # We use the special value of '#custom' to let `netlify dev` know not to make
    # any assumptions
    framework = "#custom"
  
    # `netlify dev` runs this command and waits for the targetPort below to be ready.
    # In our Ember app, that happens when Vite does it's thing.
    command = "pnpm run start:ember"
    targetPort = 4200

  ## more info on configuring this file: https://ntl.fyi/file-based-build-config
Environment
  System:
    OS: macOS 15.7.4
    CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
    Memory: 28.11 MB / 8.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 24.3.0 - /Users/tcjr/.volta/tools/image/node/24.3.0/bin/node
    Yarn: 4.1.0 - /Users/tcjr/.volta/tools/image/yarn/4.1.0/bin/yarn
    npm: 11.6.1 - /Users/tcjr/.volta/tools/image/npm/11.6.1/bin/npm
    pnpm: 10.12.4 - /Users/tcjr/Library/pnpm/pnpm
    bun: 1.3.3 - /Users/tcjr/.bun/bin/bun
    Deno: 2.7.14 - /Users/tcjr/.deno/bin/deno
    Watchman: 2025.11.10.00 - /usr/local/bin/watchman
主要语言
TypeScript
星标
1.9k
派生
481
平均合并
1 天 14 小时
30 天内合并 PR
70

环境准备

从这里开始

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

netlify/cli 的其他 Issue

查看 netlify/cli 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

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