You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译Chromium CrOS时出现TemplateRuntimeError: no test named '>'如何解决

问题根因

报错核心是你当前使用的 Jinja2 2.8 版本不支持在 selectattr 过滤器中直接用 > 作为比较测试符,该语法是 Jinja2 2.10 及以上版本才新增的特性。
你编译普通Chrome目标不报错的原因是:只有编译CrOS全量目标时才会默认构建exo的wayland兼容性测试组件,该组件的代码生成模板用到了上述新语法,而autoninja -C out/Cros chrome不会构建这部分测试代码,因此无报错。

解决方案

  • 方案1:升级Jinja2版本
    直接通过pip3升级到2.10及以上版本即可,执行命令:
    sudo pip3 install -U jinja2>=2.10
    
    担心影响系统其他Python依赖的话,可以用venv创建独立虚拟环境,编译时激活虚拟环境即可。
  • 方案2:兼容旧版本Jinja2修改模板
    打开出错的模板文件 components/exo/wayland/compatibility_test/template_client_event_receiver_version_tests.cc.tmpl,将第32行的:
    {% if interface.events|selectattr("since")|selectattr("since", ">", min_version)|list|length %}
    
    中的">"替换为Jinja2旧版本支持的"greaterthan"即可,修改后为:
    {% if interface.events|selectattr("since")|selectattr("since", "greaterthan", min_version)|list|length %}
    
  • 方案3:禁用不需要的测试构建
    如果你不需要使用wayland兼容性测试,直接在GN参数中禁用该组件构建即可,执行gn args out/Cros,在打开的配置文件中添加:
    build_exo_wayland_compatibility_tests = false
    
    保存后重新执行编译命令即可正常构建。

内容的提问来源于stack exchange,提问作者Fangzhen Song

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 14:45:07