报错参考

Mermaid 报错,逐条解读

Mermaid 解析器的报错信息很准确,但很难读懂。这份参考把原始报错文本翻译成大白话:到底哪里坏了、 为什么坏了、怎么修——每一条都经过真实的 Mermaid 11 解析验证,而不是猜测出来的。

flowchartgraph

解析错误:遇到了 'CALLBACKNAME'

某个节点 ID 与 Mermaid 的关键字(call、click 或 href)完全同名,且引用时没有带形状,于是解析器把它当成了 click 回调的 token,而不是节点名。

flowchartgraph

解析错误:遇到了 'SQS'

某个节点的方括号标签没有闭合,导致解析器在找到期望的闭合符号之前就先碰到了下一个节点的开始方括号。

flowchartgraph

解析错误:遇到了 'PS'

一个方括号标签里包含了未转义的 ( 或 ),Mermaid 会把它读作另一种节点形状的开始,而不是标签文本。

flowchartgraph

解析错误:遇到了 'MINUS'

某条连线使用了单破折号箭头(->),而不是 Mermaid flowchart 的双破折号箭头(-->)。

any

未检测到图表类型

源码没有以 Mermaid 的图表类型关键字开头,导致渲染器找不到任何可以匹配的语法。

sequenceDiagram

试图停用一个未激活的参与者

某个 deactivate 调用没有对应的 activate,所以 Mermaid 找不到可以关闭的活动生命线。

erDiagram

ER 图解析错误:遇到了 'IDENTIFYING'

某条关系线使用了普通箭头或短横线,而不是 erDiagram 要求每条关系都必须具备的鸦爪基数表示法。

stateDiagram-v2

状态图解析错误:遇到了 'INVALID'

两个状态之间的转移使用了单个短横线,而不是 stateDiagram 的箭头(-->),和 flowchart 里的单短横线陷阱属于同一类错误。

flowchartgraph

解析错误:遇到了 'NODE_STRING'

某个节点 ID 在其形状之前包含了未加引号的空格,导致 Mermaid 把它读成了两条独立语句,而不是一个节点。

sequenceDiagram

sequenceDiagram 解析错误:某个代码块缺少 end

某个 alt、loop、opt、par、critical 或 break 代码块被打开了,却从未闭合,导致解析器在找到匹配的 end 之前就读完了整个图表。

classDiagram

类图解析错误:遇到了 'ALPHA'

某条关系箭头缺少一个短横线,导致 Mermaid 无法识别它属于哪一种已定义的类关系类型。