第 7 章:问题描述与排错 — 把“我不会”变成可执行问题¶
📋 本章概览¶
| 项目 | 内容 |
|---|---|
| 学习时长 | 8 分钟 |
| 核心概念 | 问题描述、最小复现、证据链、停止边界 |
| 核心比喻 | 小黄鸭不会回答,所以你必须把每一步说清楚 |
| 实践任务 | 用固定模板描述并排查一个“命令找不到”问题 |
| 难度等级 | ★★☆☆☆ |
“小黄鸭原则”其实是在训练观察力¶
把问题讲给一只不会回答的小黄鸭听,迫使你从“它坏了”说到具体动作:我在哪个目录、输入了什么、看到了什么、原本期待什么。这个过程不是幼稚的自言自语,而是把脑内跳过的步骤重新放回桌面,很多错误会在描述时自己暴露出来。
对完全零基础的人来说,最重要的不是一次写出专业报错报告,而是形成固定顺序:先保留原始错误,再确认目录和版本,然后一次只改变一个条件。这样你可以把问题交给同学、老师或 Agent,也能判断对方给出的建议是否真的对应你的现象。
7.1 把问题讲清楚¶
想象你要向一只不会回答的小黄鸭解释问题。你不能说“它就是不行”,而要说清楚:我要做什么、我在哪个目录、我输入了什么、电脑原样返回了什么、我原本期待什么。
这不是卖萌,而是一种把模糊感觉变成证据链的排错方法。很多问题在你逐句解释时就已经暴露出原因:目录错了、命令拼错了、终端没有重启,或者你把警告误认为失败。
7.2 完全零基础的操作步骤¶
每次只做一步,结果不同就停下来记录:
- 打开 PowerShell 或终端,不要同时打开多个窗口。
- 复制一条命令,例如
python --version,按回车。 - 等命令结束,完整复制输出,不要只截取最后一行。
- 记录当前目录:PowerShell 执行
Get-Location,macOS/Linux 执行pwd。 - 对照“我想看到什么”:版本号、文件列表,还是一条成功提示?
- 如果结果不同,先不安装、不删除、不修改 PATH,进入下一节写问题卡片。
7.3 小黄鸭问题卡片¶
复制下面的模板,连同完整错误输出一起保存:
我想完成:例如检查 Python 是否安装
当前系统和终端:Windows 11 + PowerShell
当前目录:C:\Users\me\hello-node
我执行的原命令:python --version
实际输出:请粘贴完整内容
我期望看到:Python 版本号
我已经尝试:只执行过这一条命令
限制:不删除文件、不执行未知远程脚本
下一步:请先解释可能原因和检查命令,不要直接修改系统
7.4 一个可照抄的排错案例¶
现象:python --version 提示“不是内部或外部命令”。按顺序检查:
如果 py --version 成功而 python 失败,说明 Python 可能已安装但命令别名或 PATH 未配置一致。此时记录结果,重新打开终端,再查看第 1 章的 PATH 说明;不要立刻修改系统变量。
7.5 什么时候必须停止¶
遇到以下情况先停止并询问有经验的人:命令要求删除目录、覆盖配置、关闭安全防护、输入管理员密码、上传项目文件或暴露 API Key。排错的目标是缩小问题,不是为了“让它动起来”而牺牲数据和权限。
✅ 验证步骤¶
任选一个命令,完成一张问题卡片;让另一位同学只看卡片,能复现你的检查顺序并判断下一步。若不能,说明描述还缺少系统、目录、命令或完整输出。
📝 本章总结¶
- 排错要求先把现象说完整,再提出解决方案。
- 最小复现一次只改变一个变量,结果更容易解释。
- 涉及删除、权限、密钥和外传数据时,停止边界优先于速度。
✏️ 课后练习¶
- 故意在错误目录执行
npm run format:check,用问题卡片解释现象。 - 把一条模糊提问“我的环境坏了”改写成包含证据的提问。
🔮 下一章预告¶
下一章会把所有工具串成一次完整验收,并学习如何区分安装问题、PATH 问题和项目依赖问题。