AI 小工具创造入门
第二册

第4课:依赖和环境变量

判断项目跑不起来时,是路径、命令、依赖、环境变量、API Key、端口还是代码问题。

依赖和环境变量直觉图

本课目标

第 1 课让你知道项目是一个文件夹。

第 2 课让你知道终端负责运行项目和显示报错。

第 3 课让你认识 Nodenpmpackage.jsonscriptsdependenciesnode_modules

第 4 课要解决一个更常见的问题:

为什么同一个项目,有时在这台电脑能跑,在另一台电脑跑不起来?
为什么 Codex 说要检查依赖、.env、API Key、端口?

本课不教复杂依赖冲突,不教服务器运维。

它只让你形成一个重要判断:

项目跑不起来,不一定是功能坏了。
很多时候是项目环境没有准备好。

本课结束时,你要完成一张“项目跑不起来排查表”。

开始之前

你可能已经遇到过这些情况:

npm run dev 后报错。
浏览器打不开 localhost。
AI 说缺少 API Key。
终端里出现 module not found。
AI 让你创建 .env 文件。
端口 3000 被占用。

这些词看起来很多。

但对小白来说,先不要把它们全部背下来。

先记住一句话:

项目能不能跑起来,除了代码本身,还取决于它需要的工具和配置有没有准备好。

一个小故事

小林把上一课的“小红书标题助手”重新打开。

昨天它还能跑。

今天终端里却出现:

Cannot find module

小林问 AI:

是不是你昨天把代码改坏了?

AI 说:

先不要急着改代码。请检查依赖是否安装。

小林看不懂“依赖”。

他又换了一个项目,这次终端里出现:

Missing API key

AI 又说:

请检查 .env 文件。

小林更乱了。

这节课就是帮你把这两类问题分开:

Cannot find module 这类问题,多半和依赖有关。
Missing API key 这类问题,多半和环境变量有关。

项目跑不起来,不一定是功能坏了

新手最容易犯的错误是:

页面打不开 = 功能坏了 = 让 AI 重写代码

但真实项目里,页面打不开可能有很多原因。

比如:

  • 你没有进入正确的项目文件夹。
  • 你输错了启动命令。
  • 依赖没有安装。
  • node_modules 被删掉了。
  • 缺少 .env 文件。
  • API Key 没有填。
  • 端口被别的项目占用了。
  • 才可能是代码本身出错。

所以本课的核心不是“修好所有问题”。

本课的核心是:

我能把问题归类,并把完整信息交给 AI。

今天要认识的 7 个东西

1. 依赖

依赖可以先理解成:

项目需要借用的外部工具包

如果依赖没有安装,项目可能跑不起来。

2. 安装依赖

安装依赖就是把项目需要的工具包下载到本地。

在很多 Node 项目里,常见命令是:

npm install

安装完成后,项目里可能会出现一个很大的文件夹:

node_modules

你不需要手动改它。

3. 锁定文件

锁定文件常见名字包括:

package-lock.json
pnpm-lock.yaml
yarn.lock

它可以先理解成:

记录这次具体安装了哪些版本的工具包

不要随便删除,不要随便手改。

4. .env

.env 是一个常见的配置文件。

它经常用来放 API Key、接口地址、数据库地址、模型名称和其它项目配置。

你可以把 .env 理解成:

项目运行时要用到的钥匙和地址本

它可能长这样:

OPENAI_API_KEY=这里放你的密钥
DATABASE_URL=这里放数据库地址

这只是示例,不要把真实密钥贴到公开地方。

5. API Key

API Key 可以先理解成:

调用某个服务时使用的钥匙

如果你的小工具要调用 AI、地图、支付、数据库或其它平台,常常需要 API Key。

重要规则:

API Key 不要随便发给别人。
不要放到公开网页、公开视频、公开仓库或截图里。

6. 配置

配置就是项目运行时需要知道的信息。

比如:

  • 用哪个 AI 模型。
  • 调哪个接口地址。
  • 本地端口是多少。
  • 是否开启某个功能。
  • 数据保存在哪里。

代码像机器。

配置像机器旁边的旋钮、钥匙和地址牌。

机器没坏,但旋钮和钥匙没放对,也可能跑不起来。

7. 端口占用

端口可以先理解成:

电脑上给本地项目开的一个门牌号

如果另一个项目已经占用了同一个端口,新项目可能启动失败。

终端里可能出现:

Port 3000 is already in use

这时先不要改代码。

让 AI 帮你判断:应该停止旧项目,还是换一个端口运行。

把报错分成两大类

A 类:缺工具包

这类问题经常和依赖有关。

常见线索:

Cannot find module
Module not found
command not found
dependency
package
node_modules

你可以先问 AI:

这个报错是不是依赖没有安装或安装不完整?

常见排查动作:

确认在正确项目文件夹
查看 package.json
确认启动命令
运行 npm install
再运行 npm run dev

B 类:缺钥匙或配置

这类问题经常和 .env、API Key 或环境变量有关。

常见线索:

Missing API key
env
environment variable
token
secret
DATABASE_URL
OPENAI_API_KEY

你可以先问 AI:

这个项目需要哪些 .env 配置?哪些是必须填写的?

一条小白排查顺序

遇到项目跑不起来时,可以按这个顺序。

步骤先检查什么你可以问 AI
1我在正确的项目文件夹吗请帮我判断当前终端是不是在项目根目录
2启动命令是什么请查看 package.json 的 scripts,告诉我正确启动命令
3依赖是否安装这个项目是否需要先运行 npm install
4有没有 .env 要求这个项目需要哪些环境变量
5端口是否被占用我应该停止旧项目,还是换一个端口
6再判断是不是代码问题前面几项都确认后,再看代码报错

这个顺序能避免 AI 一上来大改项目。

课堂活动:找出项目的运行条件

请打开你的项目,让 Codex 先不要改代码。

把下面提示词发给它:

请你先不要改代码。
请帮我检查这个项目的运行条件:
1. 项目根目录在哪里;
2. 启动命令是什么;
3. 是否需要先安装依赖;
4. 是否有 .env、.env.example 或环境变量要求;
5. 是否需要 API Key;
6. 默认运行端口可能是多少;
7. 如果项目跑不起来,我应该按什么顺序排查。
请用小白能听懂的话解释。

项目跑不起来排查表

项目我的记录
我的项目文件夹名字
我打开项目的位置
终端当前目录是否正确
package.json 里的 scripts
AI 建议我使用的启动命令
我实际输入的命令
是否需要安装依赖
我是否已经运行 npm install
终端里有没有 module / dependency / package 相关报错
项目里有没有 .env.example
项目是否需要 .env
需要哪些环境变量
项目是否需要 API Key
项目默认端口
浏览器地址
终端是否提示端口占用
这次问题更像哪一类路径 / 命令 / 依赖 / .env 或 API Key / 端口 / 代码
下一步最小动作

课堂练习:识别报错线索

你不需要修复下面的错误,只判断它更像哪类问题。

报错线索更像哪类问题可以问 AI 什么
Cannot find module 'vite'依赖问题这个报错是不是说明依赖没有安装?
Missing OPENAI_API_KEY环境变量或 API Key 问题OPENAI_API_KEY 应该放在哪里?
Port 3000 is already in use端口占用问题我应该停止旧项目还是换端口?
npm ERR! missing script: dev启动命令不匹配请查看 package.json,告诉我正确启动命令

给 AI 的一句话

我运行项目时遇到下面报错。

我刚才做了什么:

我期待发生什么:

实际发生了什么:

终端完整报错:

请你先不要改代码。
请先判断这个问题更像:
1. 路径问题;
2. 命令问题;
3. 依赖问题;
4. .env 或 API Key 问题;
5. 端口问题;
6. 代码问题。
请说明判断依据,并给我最小排查步骤。

本课最低标准

你能说出:

项目跑不起来,不一定是功能坏了。
先检查路径、命令、依赖、.env/API Key 和端口,再判断是不是代码问题。

并且你完成了一张“项目跑不起来排查表”。

On this page