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

如何修复Drupal中TwigNodeTrans的options节点不存在错误

解决Drupal 8 + Ddev环境下Twig SyntaxError问题

这种Node "options" does not exist for Node "Drupal\Core\Template\TwigNodeTrans"的错误,我之前帮朋友排查过,大概率是Twig版本和Drupal 8不兼容导致的——Drupal 8对Twig的版本有严格限制,不能用Twig 3.x(语法和API变动太大),而如果你的composer依赖拉到了高版本Twig,就会触发这个模板编译错误。

下面是具体的解决步骤:

1. 先确认Twig版本是否超标

进入你的ddev容器,检查当前安装的Twig版本:

ddev ssh
grep -A 5 -B 5 "twig/twig" composer.lock

如果输出里显示Twig版本是3.x.x,那就是版本问题了,Drupal 8.9.x要求Twig版本在~1.38|~2.4范围内。

2. 强制降级Twig版本

退出容器后,在项目根目录修改composer.json文件,在require区块里添加或修改Twig的版本约束:

"require": {
  // 其他依赖...
  "twig/twig": "~2.15"
}

然后回到容器里执行依赖更新:

ddev ssh
composer update twig/twig --with-dependencies

更新完成后,一定要清除Drupal缓存:

vendor/bin/drush cr

3. 重置依赖(如果上面的方法没生效)

如果还是有问题,可以彻底重置composer依赖:

ddev ssh
rm -rf composer.lock vendor
composer install

这会让composer完全按照Drupal 8的核心依赖要求重新安装所有包,确保Twig版本符合要求。

额外提醒

Drupal 8已经停止官方维护了,安全风险很高,建议尽快升级到Drupal 9或10。如果必须继续使用Drupal 8,一定要严格控制第三方模块和核心依赖的版本,避免拉到不兼容的包。

内容的提问来源于stack exchange,提问作者Missaka Iddamalgoda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:28:41