跳到主内容
机场工具箱
报错解释 机场工具箱 编辑部

「策略组引用了不存在的节点」——名字对不上的四种情况

Clash 启动失败提示策略组里的某个节点找不到,本质是 proxy-groups 里写的名字和 proxies 里的 name 没有完全一致。本文列出四种容易忽略的不一致来源,以及换订阅后批量失效的处理办法。

发布:2026 年 7 月 17 日 约 2 分钟读完
本文目录(5 节 · 约 2 分钟) +
  1. 01 引用关系是怎么回事
  2. 02 四种容易忽略的不一致
  3. 03 怎么快速找出对不上的那几个
  4. 04 顺便说一个不是报错但会出问题的情况
  5. 05 小结

一句话结论:proxy-groups 里写的每个名字,必须和 proxies 里某个节点的 name 完全一致,或者是另一个策略组的名字,或者是 DIRECT / REJECT 这类内置策略。 「完全一致」包括大小写、空格、emoji 和不可见字符——差一个空格就是两个不同的名字。

引用关系是怎么回事

Clash 的配置分三层,靠名字串起来:

proxies:
  - name: 香港01          # ← 这里定义了名字
    type: ss
    server: hk1.example.com
    port: 443

proxy-groups:
  - name: 节点选择
    type: select
    proxies:
      - 香港01             # ← 这里引用它,必须一字不差
      - DIRECT

rules:
  - DOMAIN-SUFFIX,google.com,节点选择   # ← 这里又引用策略组
  - MATCH,DIRECT

策略组的 proxies 列表里能填三种东西:节点的 name、别的策略组的 name、内置策略(DIRECT 直连、REJECT 拒绝、PASS 穿透等)。除此之外的任何字符串,Clash 都会认为你引用了一个不存在的东西,直接拒绝启动。

四种容易忽略的不一致

一、空格

香港01香港 01 是两个名字。中英文之间的空格、名字末尾多出来的一个空格,肉眼几乎看不出来。末尾空格尤其阴险——从表格或网页复制节点名时经常带上。

二、emoji 和特殊符号

现在机场普遍在节点名里加旗帜 emoji,比如 🇭🇰 香港01。这些字符必须原样复制。有些编辑器或终端会把 emoji 渲染成别的样子,甚至在保存时改变编码,导致文件里的字节和你看到的不一样。

同类问题还有全角半角:香港01香港01 里的数字不是同一个字符。

三、换订阅之后名字全变了

这是最常见的批量失效场景。你自己写了一套策略组和规则,然后换了机场或者机场调整了节点命名,proxies 里的名字全变了,而 proxy-groups 还写着旧名字——于是几十条引用同时失效。

处理办法有两个方向。一是把策略组改成用 use 引用 proxy-providers,让节点列表动态填充,不写死名字。二是改用正则筛选(部分客户端支持 filter 字段),按地区关键词匹配而不是逐个点名。

四、引用了自己或形成了环

proxy-groups:
  - name: A
    type: select
    proxies: [B]
  - name: B
    type: select
    proxies: [A]     # ← A 和 B 互相引用

这在语法上每个名字都「存在」,但运行时会陷入循环。部分客户端能检测出来并报错,部分会直接卡死或行为异常。策略组之间可以嵌套引用,但要保证最终能落到真实节点上。

怎么快速找出对不上的那几个

逐个比对几十个名字是很折磨人的事,尤其当差异只是一个空格。把整份配置粘进配置校验器,它会做交叉引用检查:把 proxies 里所有 name 收集起来,再逐条核对 proxy-groupsrules 里的每个引用,把对不上的直接列出来并指到行号。

它也会检查反过来的情况——策略组的 proxies 是空列表。空策略组在多数客户端会被判为无效配置,但这个错误的提示信息往往很含糊。

顺便说一个不是报错但会出问题的情况

节点名重复。

proxies:
  - name: 香港01
    server: hk1.example.com
  - name: 香港01          # ← 重名
    server: hk2.example.com

这在语法上完全合法,Clash 也能启动,但策略组引用「香港01」时到底用哪一个是不确定的。表现是「明明选了香港节点,走的却不是我以为的那台服务器」。合并两份订阅、或者手动往订阅里加自建节点时,最容易撞上重名。

校验器会把重名单独标出来,因为它虽然不阻止启动,但排查起来非常隐蔽。

小结

  • 名字匹配是严格的,空格、emoji、全角半角都算数
  • 换订阅导致的批量失效,考虑改用 provider 或正则筛选,别写死名字
  • 重名不报错但会导致选中非预期的节点
  • 交叉引用检查用工具做,肉眼比对几十个名字不现实

照着做一遍,比再看十篇都有用

先挑好客户端,遇到连不上再回来排查。

相关文章

配置报错、链接看不懂?粘进来看一眼

不用注册、不用填订阅地址,把出问题的配置或看不懂的节点链接直接粘进对应工具,结果当场显示。全部计算在你的浏览器里完成,粘贴的内容不会上传到任何地方——页面加载完之后断网,工具照样能用。