OpenClaw 升級卡住時,我是不是太快想把 lock 刪掉了?
我最近第一次把 OpenClaw 從 2026.10.7 升到 beta 版,原本以為就是跑一個 update 指令,等它跑完就好,結果整個人被卡在 Terminal 前面超久 😅
當時我先做 preview,看到 gateway-stop-unverified。老實說第一眼有點慌,直覺是「是不是壞了,先刪 lock 再說?」但我忍住了。後來用 openclaw gateway stop --force 停掉那個 unmanaged Gateway,再確認 18789 port 沒有 listener,PowerShell 的 Get-Process 也查不到舊 PID,另外把 backup 完整驗證過,才繼續升級。
我跑的指令大概是:
openclaw.cmd update --channel beta --tag 2026.10.10-beta.3 --yes --timeout 600 --json
npm 那段其實顯示 exit 0,看起來像安裝成功。可是接下來 updater 一直用 PowerShell 和 WMIC 去查同一個已經停止的 Gateway PID,超過 15 分鐘還在查。Gateway 沒上線,版本也沒有切過去。這時候最容易犯的錯,就是看到它一直不動,就自己推論「一定是無限迴圈」或「rollback 失敗」,然後開始亂刪檔案。
我這次學到三件事。
第一,npm staging 成功,不等於整個升級流程完成。真正要確認的是 Gateway 有沒有恢復、版本有沒有切換、服務狀態是不是正常,不能只看中間某一步 exit 0。
第二,PID 查不到也不代表可以直接跳過 ownership protection。程序可能真的停了,也可能 updater 還在等一個狀態確認;我目前沒有足夠證據判斷是哪一種,所以沒有繞過保護機制。
第三,backup 真的要在動手前確認能用。這次至少我知道原版本還在、備份也留著,心裡沒有那麼慌。
如果你也遇到升級後反覆查舊 PID,我會建議先記錄完整輸出,確認 port、process 和 backup,再決定下一步。不要一看到卡住就刪 lock,也不要把「還沒有結果」直接當成 bug 根因。新手最怕的不是多等一下,是在還沒搞清楚狀態前先把可以救回來的東西刪掉。
我現在對 beta 升級的心得很簡單:先把退路準備好,再耐心分辨它是正在確認,還是真的失敗。雖然這次沒有漂亮地收尾,但至少沒有把問題越修越大,這也算是新手踩坑的一點進步吧。
作者:allen2