im_wower
·
2026-03-29
T-S044.md
1# Task T-S044:修复 pnpm 环境(安装 pnpm 到 PATH)
2
3## 状态
4
5- 当前状态:`已完成`
6- 规模预估:`S`
7- 依赖任务:无
8- 建议执行者:`均可`(一行命令)
9
10## 直接给对话的提示词
11
12读 `/Users/george/code/baa-conductor/tasks/T-S044.md` 任务文档,完成开发任务。
13
14## 当前基线
15
16- 仓库:`/Users/george/code/baa-conductor`
17- 分支基线:`main`
18- 提交:`2f6ec85`
19
20## 分支与 worktree(强制)
21
22- 分支名:`fix/pnpm-env`
23- worktree 路径:`/Users/george/code/baa-conductor-pnpm-env`
24
25开工步骤:
26
271. `cd /Users/george/code/baa-conductor`
282. `git worktree add ../baa-conductor-pnpm-env -b fix/pnpm-env main`
293. `cd ../baa-conductor-pnpm-env`
30
31完成后提交与推送:
32
331. 在 worktree 里提交所有变更(包括更新后的任务文档)
342. `git push -u origin fix/pnpm-env`
35
36合并步骤(由合并者执行):
37
381. `cd /Users/george/code/baa-conductor`
392. `git fetch origin`
403. `git merge origin/fix/pnpm-env`
414. `git push`
425. `git worktree remove ../baa-conductor-pnpm-env`
43
44## 目标
45
46确保 pnpm 在系统 PATH 中可用,所有任务的验证命令(`pnpm build`、`pnpm test`)能直接运行。
47
48## 背景
49
50T-S039 执行过程中发现 `pnpm` 和 `corepack` 都不在 PATH 里。当前系统只有 `npm@11.11.0` 和 `node@25.8.1`。
51
52## 必须完成
53
54### 1. 安装 pnpm
55
56二选一:
57
58方案 A(推荐):
59```bash
60npm install -g pnpm
61```
62
63方案 B(通过 corepack):
64```bash
65corepack enable
66corepack prepare pnpm@latest --activate
67```
68
69### 2. 验证
70
71- `which pnpm` 输出路径
72- `pnpm --version` 输出版本号
73- `cd /Users/george/code/baa-conductor && pnpm install` 成功
74- `pnpm build` 成功
75- `pnpm test` 成功
76
77### 3. 更新文档(如需)
78
79如果选方案 B 或者有额外配置,在 `docs/runtime/environment.md` 补充说明。
80
81## 验收标准
82
83- `pnpm --version` 在任意新 shell 中可用
84- `cd /Users/george/code/baa-conductor && pnpm build` 通过
85
86## 执行记录
87
88> 以下内容由执行任务的 AI 填写,创建任务时留空。
89
90### 开始执行
91
92- 执行者:Codex
93- 开始时间:2026-03-29 01:40:00 CST
94- 状态变更:`待开始` → `进行中`
95
96### 完成摘要
97
98- 完成时间:2026-03-29 01:51:21 CST
99- 状态变更:`进行中` → `已完成`
100- 修改了哪些文件:
101 - `tasks/T-S044.md` — 更新任务状态、执行记录和验证结果
102- 核心实现思路:
103 - 任务背景与当前机器状态不一致;实测 `pnpm` 和 `corepack` 已经在 PATH 中,分别位于 `/opt/homebrew/bin/pnpm` 与 `/opt/homebrew/bin/corepack`
104 - 在新 login shell 中复核 `pnpm` 可直接执行,确认 `pnpm --version` 为 `10.6.0`
105 - 在独立 worktree `/Users/george/code/baa-conductor-pnpm-env` 中执行仓库级 `pnpm install`、`pnpm build`、`pnpm test`,确认当前环境已满足任务目标,无需额外系统配置或仓库代码改动
106- 跑了哪些测试:
107 - `zsh -lic 'which pnpm && pnpm --version && which corepack'`
108 - `cd /Users/george/code/baa-conductor-pnpm-env && pnpm install`
109 - `cd /Users/george/code/baa-conductor-pnpm-env && pnpm build`
110 - `cd /Users/george/code/baa-conductor-pnpm-env && pnpm test`
111
112### 执行过程中遇到的问题
113
114> 记录执行过程中遇到的阻塞、环境问题、临时绕过方案等。合并时由合并者判断是否需要修复或建新任务。
115
116- 任务文档中的背景已过时:当前机器上 `pnpm` 和 `corepack` 已可直接使用,因此本次执行未实际进行安装步骤,而是完成了环境复核和仓库验证。
117
118### 剩余风险
119
120- `pnpm` 为机器级安装能力,不由仓库自身管理;如果迁移到新机器或重新初始化 shell 环境,仍需再次验证 PATH 中是否存在 `pnpm`。