Merge pull request 'feat/install-verify/main' (#62) from feat/install-verify/main into master
Reviewed-on: #62
This commit was merged in pull request #62.
This commit is contained in:
@@ -102,6 +102,23 @@ tea-sdlc install --dry-run
|
||||
轉接檔裡**沒有路徑**,只有一句「執行 `tea-sdlc prompt --name sdlc-plan`」。正本在哪由 PATH 上的
|
||||
`tea-sdlc` 自己回推——升級 Node、換版本管理器、改 npm prefix 都不會讓七個平台的轉接檔同時失效。
|
||||
|
||||
### 安裝完成等於驗過能用
|
||||
|
||||
寫完轉接檔之後,`install` 會把那條叫用鏈真的走一遍:**轉接檔 → PATH 上的 `tea-sdlc` → 流程正本**。
|
||||
它實際到 PATH 上把 `tea-sdlc` 找出來執行一次、取回一份正本逐字比對,再逐一比對每個平台的轉接檔
|
||||
存在且內容含正確的叫用行,結果放在輸出的 `verify` 裡,逐平台 pass/fail。**任一環不通,`install`
|
||||
就回 `ok:false`。** 這段完全不碰網路,也與 Gitea 登入、時間追蹤無關。
|
||||
|
||||
最脆弱的是中間那一環:套件裝在某個 Node 版本底下,換個版本就找不到了,而轉接檔本身看起來完全正常——
|
||||
沒有這道驗證,使用者要到第一次打 `/sdlc-plan` 才發現。
|
||||
|
||||
**驗不過也不會回滾**,已經寫好的轉接檔一份都不刪。回滾在升級情境下是淨損失:原本有一組能用的舊
|
||||
轉接檔,覆蓋後驗證失敗再刪掉,就從「有點舊但能用」變成什麼都沒有;何況最可能的病灶是「PATH 上
|
||||
找不到 `tea-sdlc`」,那不是轉接檔的問題。輸出的 `error.message` 會指出病灶與修復方式,修好之後
|
||||
重跑 `tea-sdlc install` 就好。
|
||||
|
||||
`--dry-run` 不寫入任何轉接檔,也就沒有東西可驗,`verify` 會標成 `skipped` 並說明原因。
|
||||
|
||||
還沒裝 `git` 或 [`tea`](https://gitea.com/gitea/tea) 也可以先裝:轉接檔的產生不需要它們,
|
||||
安裝會把缺的東西列在輸出的 `missingBinaries` 與 `warning` 裡,但不會替你安裝,也不會因此中止。
|
||||
真正需要它們的是流程指令本身,跑之前補上即可。
|
||||
|
||||
Reference in New Issue
Block a user