【发布时间】:2014-12-02 02:00:44
【问题描述】:
在处理我的 Symfony2 项目时,我(似乎)在转到任何页面时随机收到错误 InvalidArgumentException: The service definition "templating.helpers.assets" does not exist.。我尝试过回到之前的提交,但这并没有改变任何东西。所以它似乎不是我自己的任何源代码。我也不能composer update。我已尝试删除缓存、供应商目录和 composer.lock 文件,但仍然收到此错误:
使用包信息加载作曲家存储库
更新依赖(包括require-dev)
生成自动加载文件
更新“app/config/parameters.yml”文件
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
服务定义“template.helpers.assets”不存在。Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache 处理 post-update-cmd 事件因异常而终止
[运行时异常]
执行“'cache:clear --no-warmup'”命令时出错。
有什么想法吗?
【问题讨论】:
-
这似乎是一个错字。不应该是:
templating.helper.assets(没有)。您的任何依赖项是否试图使用它?您是否尝试过在您的项目中搜索该字符串?你的作曲家包最近有更新吗?你使用固定版本吗? -
我没有使用固定版本,但是当问题发生时我没有更新软件包。我确实尝试在我的项目中搜索字符串,但没有找到任何有用的(至少对我而言)。在我清除缓存之前,就像 TwigBundle 资产扩展和一些缓存的东西。但我没有编辑任何树枝文件,当时只是 scss。既然您提到它是复数形式,我正在整理我的 scss 文件并在名为
helpers的 css 文件夹中创建了一个子文件夹。但我什至尝试删除该文件夹,但错误仍在发生。 -
幸运的是,在问题发生之前我已经将代码部署到了远程开发服务器,所以我能够抓住它并更新到最新的提交,这已经“修复”了我的问题。不过,我仍然看不出是什么导致了这个问题。
-
这很奇怪。您是否尝试过区分这两个项目?
-
composer update成功,post-update-cmd失败,因为在您的 DI 容器中注册的内容正在引用templating.helpers.assets,并且该服务未定义。
标签: php symfony composer-php