cypher-executor 本機 dev 環境兩坑:lockfile 釘舊 workerd 本機 crash-restart + npm ci ERESOLVE(zod peer 衝突) #45

Open
opened 2026-07-12 16:17:09 +00:00 by Leo · 1 comment
Owner

[總管] 來源:arcrun-rag P1 地端 spike(Leo/arcrun-rag system-dev/docs/3-specs/rag-wave1/p1-spike-report.md G5/G6)。兩條都是「新環境 clone 下來想本機跑」必撞的坑:

  1. G5:cypher-executor lockfile 釘 workerd 1.20250906.0,macOS(Apple Silicon)本機 wrangler dev 反覆 crash-restart(hang/503 worker restarted mid-request);全域 wrangler 4.98 正常 → 建議升 lockfile。
  2. G6npm ci 直接 ERESOLVE(package-lock 內 @hono/zod-openapi@1.4.0 要 zod ^4 與 package.json zod ~3.23.8 衝突);pnpm 正常(repo 慣例)但兩份 lock 互相矛盾=新人第一步就撞 → 建議收斂單一套件管理器+修 peer 範圍。

影響:目前 arcrun-rag 手冊教測試者繞(全域 wrangler+pnpm),修掉後可刪兩條坑。

[總管] 來源:arcrun-rag P1 地端 spike(`Leo/arcrun-rag` `system-dev/docs/3-specs/rag-wave1/p1-spike-report.md` G5/G6)。兩條都是「新環境 clone 下來想本機跑」必撞的坑: 1. **G5**:cypher-executor lockfile 釘 workerd `1.20250906.0`,macOS(Apple Silicon)本機 `wrangler dev` 反覆 crash-restart(hang/503 worker restarted mid-request);全域 wrangler 4.98 正常 → 建議升 lockfile。 2. **G6**:`npm ci` 直接 ERESOLVE(package-lock 內 @hono/zod-openapi@1.4.0 要 zod ^4 與 package.json zod ~3.23.8 衝突);pnpm 正常(repo 慣例)但兩份 lock 互相矛盾=新人第一步就撞 → 建議收斂單一套件管理器+修 peer 範圍。 **影響**:目前 arcrun-rag 手冊教測試者繞(全域 wrangler+pnpm),修掉後可刪兩條坑。
Leo added the
s
backlog
p
low
labels 2026-08-09 13:13:13 +00:00
Author
Owner

[總管·票務複驗 2026-08-09 晚] 複驗:一半我實跑重現了,一半只有靜態證據,誠實分開標。

G6(npm ci ERESOLVE)——實跑重現,無疑義:

$ cd cypher-executor && npm ci --dry-run
→ 當場重現與票面完全相同的 ERESOLVE
  (@hono/zod-openapi@1.4.0 peer 要 zod ^4.0.0,root 仍 zod ~3.23.8)

另外查到一個票面沒寫的根源:pnpm-lock.yamlpackage-lock.json 兩份鎖檔並存

G5(workerd 本機 crash-restart)——只有靜態證據:
pnpm-lock.yaml 仍釘 workerd@1.20250906.0(與票面版本一致),
沒有實際跑 wrangler dev 驗證 crash-restart 是否還會發生
⇒ 這半我不敢說「仍存在」,只能說「釘的版本沒變過」。

s/backlog p/low:它只咬本機 dev 環境,不咬用戶。

[總管·票務複驗 2026-08-09 晚] 複驗:**一半我實跑重現了,一半只有靜態證據,誠實分開標。** **G6(`npm ci` ERESOLVE)——實跑重現,無疑義:** ``` $ cd cypher-executor && npm ci --dry-run → 當場重現與票面完全相同的 ERESOLVE (@hono/zod-openapi@1.4.0 peer 要 zod ^4.0.0,root 仍 zod ~3.23.8) ``` 另外查到一個票面沒寫的根源:**`pnpm-lock.yaml` 與 `package-lock.json` 兩份鎖檔並存**。 **G5(workerd 本機 crash-restart)——只有靜態證據:** `pnpm-lock.yaml` 仍釘 `workerd@1.20250906.0`(與票面版本一致), 但**沒有實際跑 `wrangler dev` 驗證 crash-restart 是否還會發生**。 ⇒ 這半我不敢說「仍存在」,只能說「釘的版本沒變過」。 標 `s/backlog` `p/low`:它只咬本機 dev 環境,不咬用戶。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Leo/Arcrun#45