匠人学院 JR Academy学AI来匠人
匠人学院 JR Academy学AI来匠人

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-airwallex.png/image/layout/pay-alipay.png
EN

关于公司

关于我们元宇宙课堂新闻资讯匠人工作成为导师匠人导师联系我们匠人商店J3.Club

匠人资源

工作内推匠人活动1对1私教行业白皮书线上学习平台面试中心分享面试经验Internship会员中心

AI 工具

AI 工具箱考证匠 Cert Master求职匠 Job Hunter牛小匠 UniMate AI

AI 学习方向

全部学习方向AI EngineerContext EngineeringVibe CodingPrompt MasterAI BuilderAI 产品经理Python 入门

AI 应用提效

AI 办公提效AI 数据分析AI 财务AI 内容创作AI 视觉创作前端开发Hermes AgentOpenClaw 本地智能体

大学资源

墨尔本大学昆士兰大学新南威尔士大学悉尼大学莫那什大学阿德莱德大学RMITQUTUTS

少儿 AI 教育

Airbotix 少儿 AI 编程澳洲家长实用资料库NAPLAN 成绩单怎么看My School 学校数据指南悉尼私校学费 2026少儿编程课程与训练营

移民服务

澳洲移民技术移民189/190/491雇主担保482/186/494投资移民188/888英国移民美国移民加拿大移民

企业合作

P3职业孵化器Enterprise (EN)企业培训实习合作招聘合作申请合作

求职代理

岗位代投职位监控LinkedIn代运营LinkedIn人脉代加了解P3项目

匠人支持

FAQsTerms & ConditionsPrivacy PolicyCancellation & Refund PolicySite map

Top Categories

Web全栈班DevOps项目班数据工程全栈班数据分析项目班编程入门班Business Analyst实习算法集训营

求职就业

BA和产品经理实习数据科学实习数据分析实习Marketing实习简历修改面试指导导师指导VIP

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 2, 171 La Trobe St, Melbourne VIC 3000
四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号
Business Hub, 155 Waymouth St, Adelaide SA 5000

联系方式

hello@jiangren.com.au0421-672-555

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2026 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572

首页/资源中心/文章详情
JR Academy · Blog职业洞察

n8n 自动化工作流实战指南 — n8n FAQ 与故障排查:常见报错、性能瓶颈与 Make 对比

n8n 最常见的十类报错及解法、大流量 workflow 的性能瓶颈定位与优化、n8n 与 Make.com 的定价和能力横向对比——少踩坑,选对工具

发布日期2026-09-20
阅读时长4 分钟
作者

快速导航

  • 第一部分:常见报错速查
  • 1. HTTP Request 节点 400 Bad Request
  • 2. HTTP Request 节点 429 Too Many Requests
  • 3. Code 节点 "All items must be an array of objects"
  • 4. Code 节点 "import is not defined" / "require is not defined"
  • 5. Webhook 没收到请求(Workflow 跑不起来)
  • 6. OAuth2 Token "Invalid credentials" / 401
  • 7. Expression 报错 "Cannot read properties of undefined"
  • 8. "Execution was stopped because it exceeded the timeout"
  • 第二部分:性能瓶颈定位与优化
  • 瓶颈一:大数据集打爆内存
  • 瓶颈二:顺序串行 API 调用
  • 瓶颈三:Schedule 触发器频率太高
  • 快速诊断工具
  • 第三部分:n8n vs Make 选型对比
  • 定价模型:执行次数 vs 操作次数
  • 核心能力差异
  • 怎么选
  • 最后:遇到 bug 最高效的调试路径

入门阶段写几个 workflow 跑起来没问题,一旦进入生产、数据量上来、或者团队开始协作,就会撞上一堆让人头疼的报错和性能问题。这章专门回答那些"在文档里找不到、但跑真实项目必踩"的坑。


第一部分:常见报错速查

1. HTTP Request 节点 400 Bad Request

症状:节点红色报错,消息体里有 "status": 400 或 "message": "Bad Request"。

根本原因:发出去的请求不符合 API 服务器的格式要求。最常见的三种情况:

  1. Query parameter 格式错:数组参数要写成 ids[]=1&ids[]=2,不能直接把 JSON 数组 [1,2] 放到 query string。
  2. Body 的 Content-Type 不对:API 期望 application/x-www-form-urlencoded,但你发了 application/json(或反过来)。
  3. 必填字段漏了:用 "Specify Body" → JSON 时,少了 API 文档里标 required 的字段。

排查步骤:

1. 在 Execute 节点前加一个 Set 节点,把要发送的数据 console.log 出来看格式
2. 把相同参数粘到 Postman / curl 手动测一遍
3. 看 API 文档,对照必填字段、数据类型、嵌套层级

2. HTTP Request 节点 429 Too Many Requests

症状:执行到某个 HTTP Request 节点就失败,错误信息含 429 或 rate limit。

API 有调用速率限制,n8n 默认对每条记录都跑一次节点,数据量大时很容易触发。

解法:在 HTTP Request 节点之前插一个 Wait 节点(设 200–500ms),或者把数据先用 Split In Batches 切成小批,每批之间加 Wait。另一个更稳的做法是在 HTTP Request 节点开启 "Retry on Fail",设 3 次重试 + 指数退避。

// HTTP Request 节点 → Settings 标签页
"retryOnFail": true,
"maxTries": 3,
"waitBetweenTries": 1000

3. Code 节点 "All items must be an array of objects"

症状:Code 节点执行后报 ERROR: All items must be an array of objects。

n8n 的数据模型要求每个节点的输出必须是对象数组,每个对象包含一个 json 字段。直接 return { name: "test" } 是错的。

// ❌ 错误写法
return { name: "test" };

// ✅ 正确写法
return [{ json: { name: "test" } }];

// ✅ 处理多条输入数据时
return $input.all().map(item => ({
  json: {
    ...item.json,
    processed: true
  }
}));

4. Code 节点 "import is not defined" / "require is not defined"

症状:Code 节点里写了 import axios from 'axios' 或 const axios = require('axios') 然后报错。

n8n 的 JavaScript 沙箱不支持 import/export 语法(ES Module),但支持 require——条件是这个包已经安装在 n8n 运行环境里。

// ❌ 不支持
import axios from 'axios';

// ✅ 如果包已安装(自托管可装)
const axios = require('axios');

// ✅ 大多数情况:用内置的 $http 或 HTTP Request 节点代替
// 不需要额外依赖

如果需要用到特定 npm 包,自托管版可以通过环境变量 NODE_FUNCTION_ALLOW_EXTERNAL=axios,lodash 解锁,云版本目前不支持自定义包。


5. Webhook 没收到请求(Workflow 跑不起来)

这个报错不一定有明显的错误消息,表现是第三方平台显示发送成功,但 n8n 执行历史里什么都没有。

排查清单:

检查项 解法
Workflow 是 Active 状态吗? 打开右上角激活开关,Test URL 只在手动测试时有效
用的是 Production URL 还是 Test URL? 生产环境必须用 Production URL(两者不同)
n8n 实例能被外部访问吗? 本地开发用 ngrok;生产用域名 + 正确端口转发
Cloudflare 或反向代理阻断了吗? 检查 Cloudflare WAF 规则,关闭对 webhook 路径的 Bot Protection
Signing secret 对上了吗? 第三方平台的 secret 和 n8n webhook 节点的 secret 必须一致

6. OAuth2 Token "Invalid credentials" / 401

症状:workflow 运行了一段时间突然开始 401 报错,之前好好的。

OAuth2 access token 会过期(通常 1 小时),n8n 会自动用 refresh token 续期——但 refresh token 本身也有过期时间(Google 是 7 天未用就失效,Slack 是 90 天)。

解法:

1. 进 Credentials 页面,找到对应的 OAuth 凭证
2. 点 "Reconnect" 重新走一遍授权流程
3. 如果是 Google Workspace,确认 n8n 的 OAuth App 在 Google Cloud Console 里是 "Published" 状态而不是 "Testing"(Testing 状态的 refresh token 只有 7 天)

7. Expression 报错 "Cannot read properties of undefined"

症状:节点里写了 {{ $json.user.email }} 类型的表达式,某些数据跑到这里就炸。

原因是上游某条记录里 user 字段不存在(null 或 undefined),直接取 .email 就报错了。

// ❌ 脆弱写法
{{ $json.user.email }}

// ✅ 安全写法:Optional chaining
{{ $json.user?.email }}

// ✅ 带默认值
{{ $json.user?.email ?? 'no-email@example.com' }}

// ✅ 在 Code 节点里批量处理时
return $input.all().map(item => ({
  json: {
    email: item.json?.user?.email ?? null
  }
}));

8. "Execution was stopped because it exceeded the timeout"

症状:长时间运行的 workflow(比如批量处理、调用慢 API)突然中断,报 timeout。

云版 n8n 默认执行超时是 60 分钟(Enterprise 可调);自托管版可通过环境变量 EXECUTIONS_TIMEOUT 修改(单位毫秒,默认 3600000)。

如果是数据量导致的慢,参考下一部分的性能优化。如果是 API 调用慢,先确认 API 本身的响应时间,考虑异步处理模式(触发 API job → 轮询状态)。


第二部分:性能瓶颈定位与优化

瓶颈一:大数据集打爆内存

n8n 默认把一个 workflow 执行的所有数据加载进内存。当你要处理几千条、几万条数据时,内存会撑满,要么执行极慢,要么直接 OOM 崩溃。

标准解法:SplitInBatches

HTTP Request(拉全量)→ Split In Batches(每批 100 条)→ 处理逻辑 → Merge

Split In Batches 节点会把大数组切成小批循环处理,每批结束后释放内存。批次大小根据单条数据体积调:API 返回的简单 JSON 可以 200 条一批,附带大文本或 embedding 的可以降到 10–20 条。

瓶颈二:顺序串行 API 调用

100 条数据,每条都独立调一次 API,n8n 默认串行执行——第 1 条完了才发第 2 条请求,100 次 × 500ms = 50 秒。

解法:在 HTTP Request 节点里开启 "Execute Once for All Items" 或配合批量 API 端点(如 Notion 的 batch-write、HubSpot 的 batch/create)。如果 API 只支持单条,可以用 Code 节点包一个 Promise.allSettled 并发发请求:

const items = $input.all();
const results = await Promise.allSettled(
  items.map(item =>
    $http.request({
      method: 'POST',
      url: 'https://api.example.com/items',
      body: item.json
    })
  )
);
return results.map((r, i) => ({
  json: { 
    input: items[i].json,
    success: r.status === 'fulfilled',
    result: r.value ?? r.reason
  }
}));

注意:并发要控制,通常不超过 API 的并发限制,否则又触发 429。

瓶颈三:Schedule 触发器频率太高

每分钟触发一次的 workflow 在没有任务时也会完整执行一遍,耗 execution 配额(云版)也占资源(自托管)。

优化思路:

  1. 在 workflow 最开头加一个 IF 节点,检查"今天真的有需要处理的数据吗",没有直接走 No 分支 Stop
  2. 考虑改用 Webhook 触发(事件驱动),而不是定时轮询
  3. 自托管高并发场景,开启 Queue Mode(Redis 作为队列),把执行和编排分开
# 自托管开启 Queue Mode 的环境变量
EXECUTIONS_MODE=queue
QUEUE_BULL_REDIS_HOST=localhost
QUEUE_BULL_REDIS_PORT=6379

Queue Mode 下,main 进程只负责接收触发、调度任务,worker 进程负责实际执行节点——可以横向扩多个 worker,互不干扰。

快速诊断工具

自托管版本可以开 debug 日志定位慢节点:

# .env 里加
N8N_LOG_LEVEL=debug

每个节点的执行时间会打进日志。找到最慢的那个节点,重点优化它——通常 80% 的执行时间集中在 20% 的节点上(往往是慢 API 调用)。


第三部分:n8n vs Make 选型对比

定价模型:执行次数 vs 操作次数

这是两个工具最根本的差异,直接决定你在什么规模下的成本。

Make 的操作计费:每个模块(节点)运行一次算一个 operation。一个 10 节点的 workflow 跑一次 = 10 operations。数据量大时,一条记录触发的循环每跑一圈也算 operations。

n8n 的执行计费:不管 workflow 有多少节点,跑一次算一次 execution。20 节点的 workflow 和 2 节点的 workflow 消耗的配额一样。

n8n Cloud(2026) Make.com(2026)
入门价格 Starter €24/月(2,500 次执行) Core $9/月(1,000 次操作)
中级价格 Pro €60/月(10,000 次执行) Pro $16/月(10,000 次操作)
团队价格 Business €800/月(40,000 次执行 + SSO) Teams $29/月(20,000 次操作)
自托管 免费(Community Edition,无限执行) 不支持
失败执行计费 不计入配额 计入 operations
用户数量 所有计划无限用户 按计划限制

实际成本换算:假设你有个 15 节点的 workflow,每天跑 100 次。Make 每天消耗 1,500 operations(15×100),月度 45,000 operations,需要 Teams 以上计划($29/月)。n8n 每天消耗 100 executions,月度 3,000 executions,Starter 计划(€24/月)够用。节点多时 n8n 更便宜。

核心能力差异

维度 n8n Make
集成数量 400+ 1,500+
自定义代码 支持(JavaScript / Python) 极其有限
AI Agent 支持 深度原生(LangChain / Claude / 向量库) 基础支持
可视化 中等(canvas 布局) 优(更直观的流程图风格)
自托管 支持(社区版免费) 不支持
调试体验 执行历史完整,可逐节点检查数据 较弱
学习曲线 中高(有代码门槛) 低(完全无代码)
版本控制 Git 集成(Business+) 无

怎么选

选 n8n 的场景:

  • 工作流逻辑复杂,有分支、循环、条件判断
  • 需要用 JavaScript/Python 写自定义处理逻辑
  • 要跑 AI Agent、集成向量数据库、接 LLM
  • 有数据合规要求(必须自托管,数据不出内网)
  • 团队有开发能力,想用 Git 管理 workflow 版本

选 Make 的场景:

  • 主要用途是连接 SaaS 工具,触发 → 同步 → 通知这类简单流程
  • 团队成员无开发背景,需要完全可视化操作
  • 需要接的第三方服务在 n8n 里没有原生节点(Make 的集成更全)
  • 流程简单、每月 execution 数少,对成本敏感

一句话定位:Make 是运营工具,n8n 是工程师工具。 如果你在帮开发团队做自动化或者要构建 AI 应用,n8n 的上限高很多;如果是市场/销售团队的简单任务自动化,Make 的上手体验更好。


最后:遇到 bug 最高效的调试路径

无论什么报错,先走这条路径,80% 的问题可以自己解决:

1. 进 Executions 页面 → 找到失败的那次执行
2. 点进去,找到红色失败的节点
3. 看该节点的 Input 数据(上游传来的是什么)
4. 看 Error 信息(n8n 通常会显示 API 原始错误)
5. 打开该节点的 API 文档(节点 → Info → 文档链接)
6. 对照文档里 required 字段和数据格式

如果社区里找不到答案,n8n 的 Community Forum 活跃度很高,搜报错信息大概率能找到同款问题。自托管用户遇到的问题尤其多人踩过,帖子质量比 Stack Overflow 高。

作者
一键分享或复制链接
Lightman Wang
Reviewer: Lightman Wang

Founder of JR Academy

查看该作者的更多文章 →
← 上一篇n8n 自动化工作流实战指南 — n8n 高阶技巧:Sub-workflow 模块化、Error Workflow 兜底与 Credentials 治理下一篇 →n8n 工作流自动化实战手册 — n8n 是什么:自动化工具的新选择

相关文章推荐

太狠了太狠了😭 NVIDIA这个AI免费项目真的太狠了

2026-09-21

GitHub Copilot 实战指南 — 常见问题、定价与选型建议

2026-09-20

GitHub Copilot 实战指南 — 进阶玩法:Coding Agent、自定义指令与 MCP

2026-09-20

GitHub Copilot 实战指南 — 核心功能深度解析:补全、Chat 与 Agent Mode

2026-09-20

GitHub Copilot 实战指南 — 快速上手:注册免费版 + 第一次 AI 编程

2026-09-20

GitHub Copilot 实战指南 — GitHub Copilot 是什么:全球最大的 AI 编程助手

2026-09-20
查看全部文章 →
JR Academy
全球华人学习 AI 第一站
✓15000+ 学员
✓50+ 课程
✓AI 驱动学习平台
训练营免费资源AI学习职业辅导
精选推荐
AI 职业影响地图
测测你的职业风险等级,查看转型路径与学习方向
热门工具
AI & 数据训练营
系统化课程 + 真实项目实战,快速提升竞争力
热门课程
1v1 就业辅导
资深导师一对一指导,简历优化 + 面试准备
就业保障
企业内训定制
AI 技能培训方案,助力团队升级
企业服务
热门标签
Vibe CodingAI 编程CursorClaude求职攻略Prompt前端开发后端开发
订阅更新

获取最新 AI 学习资源、技术教程和求职攻略,直接送达邮箱。

我们尊重您的隐私,不会发送垃圾邮件