Skip to Content
Handbook第 2 章:🤖 AI 编程工具实战2.9 卡住了怎么办(必备工具箱)

2.9 卡住了怎么办 - 常见卡点解决手册

90%的新手放弃,不是因为不会,而是卡住了不知道怎么办。这一页帮你突破所有常见卡点。

💡

重要提醒: 每个程序员每天都会遇到几十次报错。卡住是正常的,不要怀疑自己!

本页内容来自数百名零基础学员的真实卡点整理。你遇到的问题,99%的人都遇到过。


🔴 卡点 1: 终端报错看不懂

症状

打开终端运行命令,出现一堆红字:

Error: Cannot find module 'next' npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] dev: `next dev` npm ERR! Exit status 1 [...还有更多红字...]

新手常见误区

  • ❌ 盯着红字发呆,不知道怎么办
  • ❌ 从头开始重装,浪费时间
  • ❌ 觉得自己太笨,直接放弃
  • ❌ 随便搜索一个词,找不到解决方案

✅ 正确处理步骤

步骤 1: 不要慌!

深呼吸。报错是正常的,程序员每天都会遇到几十次。

步骤 2: 复制完整错误信息

从第一行红字到最后一行红字,全部选中复制

不要只复制一部分,完整的错误信息才能让 AI 准确诊断。

步骤 3: 打开 Cursor 对话框

Cmd/Ctrl + L 打开 AI 对话

步骤 4: 用这个模板提问

我运行 [你的命令] 时遇到这个错误: [粘贴完整错误信息] 我的环境: - 操作系统: Mac/Windows - Node版本: [在终端运行 node -v 查看] - 当前步骤: [你正在做什么,例如"正在尝试启动开发服务器"] 请帮我分析原因并提供解决方案

步骤 5: 按照 AI 的建议操作

AI 会给你具体的命令,一条一条执行,不要跳步骤。

步骤 6: 如果还是不行

告诉 AI 「还是报错」,然后粘贴新的错误信息。

记住: AI 也不是一次就能解决所有问题,多试几次是正常的。


90%情况下的原因和解决方案

错误关键词可能原因快速解决
Cannot find module依赖包没安装完整运行 npm install
ELIFECYCLE端口被占用或命令错误关闭其他开发服务器,或检查命令拼写
Permission denied权限不足命令前加 sudo (Mac)
Node versionNode 版本太旧升级到 Node 18+
Port 3000 already in use端口被占用关闭占用端口的程序,或换端口

🟡 卡点 2: AI 给的代码不知道放哪里

症状

AI 返回了一大段代码,你不知道:

  • 该新建文件还是修改现有文件?
  • 应该替换全部内容还是只替换一部分?
  • 文件应该放在哪个文件夹?

新手常见误区

  • ❌ 随便找个文件粘贴进去
  • ❌ 新建文件但放错位置
  • ❌ 直接覆盖整个文件,导致其他代码丢失

✅ 正确处理步骤

步骤 1: 先问 AI

在接受代码之前,先问清楚:

这段代码应该放在哪个文件里? - 是新建文件还是修改现有文件? - 如果是新建,文件路径是什么?(例如: src/components/Button.jsx) - 如果是修改,我应该替换全部还是部分内容? - 如果是部分,应该找到哪一行,替换到哪一行?

步骤 2: 确认后再动手

AI 会明确告诉你:

  • ✅ 文件路径
  • ✅ 是新建还是修改
  • ✅ 具体操作步骤

看清楚再动手!

步骤 3: 重要文件修改前先备份

对于重要文件(比如已经写好的组件):

  1. 复制一份备份(命名为 文件名.backup.jsx)
  2. 再进行修改
  3. 如果改坏了,可以恢复备份

步骤 4: 一次只改一个文件

  • ✅ 改一个文件 → 测试 → 没问题再改下一个
  • ❌ 一口气改 10 个文件 → 出错了不知道是哪个文件的问题

步骤 5: 出错立即回滚

  • Cmd/Ctrl + Z 撤销修改
  • 或恢复之前的备份文件

文件位置速查表 (Next.js 项目)

文件类型应该放在哪里示例
页面文件src/app/src/app/about/page.jsx
组件文件src/components/src/components/Button.jsx
样式文件同级或src/styles/src/app/globals.css
工具函数src/lib/src/utils/src/lib/helper.js
配置文件项目根目录next.config.js, .env.local

特别注意: 配置文件(如package.json, next.config.js)修改时要特别小心,改错了可能导致整个项目跑不起来!


🟢 卡点 3: 网站启动后浏览器显示空白页

症状

  • 运行 npm run dev 成功
  • 打开 localhost:3000 但是空白页
  • 或者显示 404 错误

新手常见误区

  • ❌ 反复刷新浏览器
  • ❌ 重启电脑
  • ❌ 重新 npm install

✅ 正确处理步骤

步骤 1: 检查终端是否有报错

终端窗口里可能有红色警告,仔细看

步骤 2: 检查 URL 是否正确

  • ✅ 正确: http://localhost:3000
  • ❌ 错误: localhost:3000 (少了 http://)
  • ❌ 错误: http://localhost:3000/index.html (Next.js 不需要。html)

步骤 3: 检查页面文件是否存在

对于 Next.js 项目,确认 src/app/page.jsx 文件存在。

步骤 4: 检查文件内容是否正确

page.jsx 至少要有:

export default function Page() { return <div>Hello World</div> }

步骤 5: 清除缓存重启

# 停止开发服务器 (Ctrl + C) # 删除.next文件夹 rm -rf .next # 重新启动 npm run dev

🟠 卡点 4: Cursor 不理解我的需求

症状

  • 你描述了需求,但 AI 做出来的不是你想要的
  • 或者 AI 说「我不太理解你的意思”
  • 反复沟通也达不到效果

新手常见误区

  • ❌ 描述太模糊: 「帮我做一个好看的网站”
  • ❌ 一次说太多: 一口气提 10 个需求
  • ❌ 缺少上下文: 不告诉 AI 当前项目状态

✅ 正确的提问方式

步骤 1: 使用「情景-目标-约束」模板

【情景】我正在做一个个人博客网站,现在已经有了首页和关于页。 【目标】我想添加一个文章列表页面,显示最近10篇文章的标题、摘要和发布日期。 【约束】 - 使用Next.js 15 - 样式用Tailwind CSS - 文章数据暂时hard-code在代码里,不用数据库 - 要支持手机端显示 请给我完整的实现方案。

步骤 2: 提供具体的例子

模糊描述:

「我想要一个漂亮的卡片”

具体描述:

「我想要一个卡片,有圆角边框、阴影效果,鼠标悬停时会稍微放大。类似于 airbnb 首页的房源卡片那种。“

步骤 3: 分步骤提需求

不要一次说太多,分成 3-4 步:

第 1 步:

先帮我创建页面的基础结构,包括标题和空的文章列表容器

第 1 步完成后,第 2 步:

现在添加3条测试数据,并用卡片形式展示

第 2 步完成后,第 3 步:

美化卡片样式,添加悬停效果

步骤 4: 使用@Files 引用现有文件

@Files src/app/page.jsx 我想让新页面的风格和这个首页保持一致,请参考这个文件的样式

有效沟通的 3 个关键

关键点说明示例
具体化用数字、颜色、尺寸等具体描述「标题字体 36px,颜色#333” 而不是 」大一点「
情景化说明当前状态和期望结果「现在是 X,我想变成 Y”
例子化举例说明或提供参考「类似于 airbnb 的卡片」

🔵 卡点 5: 改了代码但网页没变化

症状

  • 修改了代码并保存
  • 但刷新浏览器后网页还是老样子
  • 或者要等很久才更新

新手常见误区

  • ❌ 没有保存文件
  • ❌ 改错了文件
  • ❌ 浏览器缓存没清除
  • ❌ 开发服务器没启动

✅ 排查检查清单

按顺序检查:

  1. 文件保存了吗? (Cmd/Ctrl + S)
  2. 改的是正确的文件吗? (文件名、路径)
  3. 终端里的开发服务器还在运行吗? (有绿色的✓)
  4. 浏览器打开的 URL 正确吗? (localhost:3000)
  5. 试试硬刷新浏览器 (Cmd + Shift + R 或 Ctrl + F5)
  6. 清除。next 缓存重启 (rm -rf .next && npm run dev)

🟣 卡点 6: 项目部署到 Vercel 失败

症状

  • 本地运行正常 (npm run dev 没问题)
  • 推送到 GitHub 后 Vercel 部署失败
  • 显示 Build Error

常见原因和解决方案

原因 1: 本地没有测试 build

解决:

# 本地先测试生产构建 npm run build # 如果build成功,再push # 如果build失败,先修复本地的错误

原因 2: 环境变量没配置

解决:

  1. 在 Vercel 项目设置中添加环境变量
  2. 变量名要和.env.local里的一致
  3. 重新部署

原因 3: Node 版本不对

解决: 在项目根目录创建 .node-version 文件:

18

原因 4: 有 TypeScript 错误

解决:

  • 查看 Vercel 的错误日志
  • 找到具体的 TypeScript 错误
  • 修复后重新 push

💡 通用调试心法

心法 1: 缩小问题范围

不要一下子处理整个项目的问题,逐步排查:

  1. 先确认最简单的 case 能运行
  2. 逐步添加功能,每加一个测试一次
  3. 一旦出错,就知道是刚添加的那部分有问题

心法 2: 对比工作的版本

如果之前能跑,现在不能跑了:

  1. 用 git 查看最近的修改: git diff
  2. 找出哪个文件改动最大
  3. 尝试回滚那个文件的修改

心法 3: 从错误信息入手

每个错误信息都会告诉你:

  • 在哪个文件: src/app/page.jsx:12:5
  • 什么错误: Unexpected token
  • 为什么错: Expected ',' but found '}'

按图索骥,直接定位问题

心法 4: 问对的问题

给 AI 提问时,避免:

  • ❌ 「为什么不 work?”
  • ❌ 「怎么办?”

应该说:

  • ✅ 「我期望 X,但实际得到 Y,这是完整错误信息:[…]”
  • ✅ 「我按照步骤 1、2、3 操作,在步骤 2 遇到[具体错误],我该怎么解决?”

🆘 终极求助清单

如果以上都试过了还是不行:

方法 1: 换一个 AI 工具试试

  • Cursor 不行 → 试试 Claude/ChatGPT/DeepSeek
  • 有时候不同 AI 对同一问题的理解不一样

方法 2: 在 StackOverflow 搜索

  1. 复制核心错误关键词
  2. Google 搜索: [错误关键词] next.js stack overflow
  3. 通常能找到类似问题的解答

方法 3: 在社群求助

加入 Vibe Coding 学习社群:

  • 描述问题(用上面的模板)
  • 附上截图/错误信息
  • 说明你已经尝试过的方法

记住: 没有人天生就会,大家都是这么卡过来的!

方法 4: 考虑换一个实现方案

有时候不是你的问题,是方案本身就有坑:

  • 如果卡在某个库/框架上超过 2 小时
  • 考虑换一个替代方案
  • 「绕过问题」比「死磕问题」更高效

📝 我的调试记录本 (建议创建)

创建一个 debug-log.md 文件,记录每次卡点:

## 2025-11-02: npm install报错 ### 问题描述 运行npm install时提示权限错误 ### 尝试的方法 1. ❌ 直接sudo npm install (不推荐) 2. ❌ 重装Node 3. ✅ 修改npm全局目录权限 ### 最终解决方案 ```bash mkdir ~/.npm-global npm config set prefix '~/.npm-global' export PATH=~/.npm-global/bin:$PATH

经验总结

以后遇到权限问题先查npm配置,不要轻易用sudo

**好处**: 下次遇到类似问题,直接翻记录,5 分钟解决! --- <Callout type="success" emoji="🎉"> **恭喜你看到这里!** 记住: **卡住是学习的一部分**,不是你的问题。 每解决一个卡点,你的实战能力就提升一 level。3 个月后回头看,现在卡你的问题都会变成小 case! 继续前进吧! 🚀 </Callout> --- **下一步**: - 回到 [Cursor 使用指南](/handbook/2-ai-tools/2.2-cursor-guide) 继续学习 - 或查看 [实战项目](/handbook/3-frontend-basics/3.3-project-practice) 开始动手
Last updated on