我按了更新、它印了兩個 ✓,但什麼都沒更新——它去敲一個停用的帳號 #96

Open
opened 2026-08-12 03:48:32 +00:00 by Leo · 0 comments
Owner

我按了更新,它印了兩個 ✓,然後什麼都沒更新——而且它去敲的是一個早就停用的帳號。

實撞(leo 2026-08-12,連跑三次,含 --force

  acr update — 拉新 release 並重新部署

  → D1 arcrun-kbdb(冪等)... ✓
  → 從 GitHub 下載最新版本(uncle6me-web/Arcrun@main,約 10–30 秒,視網速)...

  ⚠ 部署部分失敗:
    下載部署物失敗(codeload HTTP 404
    (https://codeload.github.com/uncle6me-web/Arcrun/tar.gz/main))。

  → 重新 seed recipe(API + auth,由 API 灌入)... ✓ seed 完成:11 個 API recipe + 26 個 auth recipe
  → 遷移 cron index(舊 per-key → 集中 key,冪等)... ✓ migrated 0, skipped 0

Cloudflare 上兩顆 worker 的 modified_on 完全沒動(停在跑之前的時間)⇒ 一顆都沒部署。

兩個獨立的問題,都要修

① 舊版 CLI 綁死在一個已經停用的 GitHub 帳號上,而且自己更新不了自己

  • leo 全域裝的是 arcrun@1.3.13(2026-06-24 裝的)
  • Leo/Arcrun#4(2026-07-07)已經把下載源從 GitHub codeload 改成 Gitea archive,
    倉庫裡是 1.3.14dist/lib/deploy.js 用的是 git.uncle6.me
  • 裝了舊 CLI 的人永遠拉不到新版——而唯一能救他的指令就是那支壞掉的指令本身
  • 🔴 這是死結:那支指令是「補裝新零件的唯一管道」(#4 原文),
    而它現在指向一個 404 的帳號。用戶自己走不出來。

② 失敗被兩個 ✓ 夾住,看起來像成功

⚠ 部署部分失敗 前面一個 ✓、後面兩個 ✓,而且離開時的狀態碼是成功的
leo 連跑三次都以為跑完了,是查 Cloudflare 上的部署時間才發現一顆都沒動。

部署失敗就不該假裝這次更新完成了。 後面那些 seed/migrate 成功,
不能蓋掉「東西根本沒送上去」這件事。

要達成什麼

  1. 手上是舊 CLI 的人,要有一條走得出來的路——而且不能要求他知道「去 clone 倉庫、npm link」
  2. 更新失敗的時候,畫面要說「這次沒有更新成功」,不是印一堆 ✓ 讓人以為好了

怎麼驗才算數

  1. 拿一份 1.3.13(或任何指向 codeload 的版本)實跑,看它有沒有辦法把自己救回來
  2. 故意讓下載失敗,看畫面有沒有明確說這次沒成功、離開狀態碼是不是非零
  3. 貼兩次的實際畫面輸出

紅線

  • 不准只改倉庫裡那份就結案——問題的本體是「已經裝在別人機器上的那些舊的」
  • 不准把 改大聲了事;判準是「使用者會不會以為更新完成了」

相關

Leo/Arcrun#4(下載源改 Gitea)|Leo/Arcrun#95(畫面說已是最新版但引擎是舊的——同一家族)|
Leo/Arcrun#93(成品比源碼舊也沒有閘會講)

**我按了更新,它印了兩個 ✓,然後什麼都沒更新——而且它去敲的是一個早就停用的帳號。** ## 實撞(leo 2026-08-12,連跑三次,含 `--force`) ``` acr update — 拉新 release 並重新部署 → D1 arcrun-kbdb(冪等)... ✓ → 從 GitHub 下載最新版本(uncle6me-web/Arcrun@main,約 10–30 秒,視網速)... ⚠ 部署部分失敗: 下載部署物失敗(codeload HTTP 404 (https://codeload.github.com/uncle6me-web/Arcrun/tar.gz/main))。 → 重新 seed recipe(API + auth,由 API 灌入)... ✓ seed 完成:11 個 API recipe + 26 個 auth recipe → 遷移 cron index(舊 per-key → 集中 key,冪等)... ✓ migrated 0, skipped 0 ``` **Cloudflare 上兩顆 worker 的 `modified_on` 完全沒動**(停在跑之前的時間)⇒ 一顆都沒部署。 ## 兩個獨立的問題,都要修 ### ① 舊版 CLI 綁死在一個**已經停用的 GitHub 帳號**上,而且自己更新不了自己 - leo 全域裝的是 `arcrun@1.3.13`(2026-06-24 裝的) - `Leo/Arcrun#4`(2026-07-07)已經把下載源從 GitHub codeload 改成 Gitea archive, 倉庫裡是 `1.3.14`,`dist/lib/deploy.js` 用的是 `git.uncle6.me` - ⇒ **裝了舊 CLI 的人永遠拉不到新版**——而唯一能救他的指令就是那支壞掉的指令本身 - 🔴 **這是死結**:那支指令是「補裝新零件的唯一管道」(`#4` 原文), 而它現在指向一個 404 的帳號。**用戶自己走不出來。** ### ② 失敗被兩個 ✓ 夾住,看起來像成功 `⚠ 部署部分失敗` 前面一個 ✓、後面兩個 ✓,而且**離開時的狀態碼是成功的**。 leo 連跑三次都以為跑完了,是查 Cloudflare 上的部署時間才發現一顆都沒動。 ⇒ **部署失敗就不該假裝這次更新完成了。** 後面那些 seed/migrate 成功, 不能蓋掉「東西根本沒送上去」這件事。 ## 要達成什麼 1. **手上是舊 CLI 的人,要有一條走得出來的路**——而且不能要求他知道「去 clone 倉庫、npm link」 2. **更新失敗的時候,畫面要說「這次沒有更新成功」**,不是印一堆 ✓ 讓人以為好了 ## 怎麼驗才算數 1. 拿一份 `1.3.13`(或任何指向 codeload 的版本)實跑,看它**有沒有辦法把自己救回來** 2. 故意讓下載失敗,看畫面**有沒有明確說這次沒成功**、離開狀態碼是不是非零 3. 貼兩次的實際畫面輸出 ## 紅線 - 不准只改倉庫裡那份就結案——**問題的本體是「已經裝在別人機器上的那些舊的」** - 不准把 `⚠` 改大聲了事;判準是「使用者會不會以為更新完成了」 ## 相關 `Leo/Arcrun#4`(下載源改 Gitea)|`Leo/Arcrun#95`(畫面說已是最新版但引擎是舊的——同一家族)| `Leo/Arcrun#93`(成品比源碼舊也沒有閘會講)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Leo/Arcrun#96