22

这个问题似乎已经被问过多次,但没有一个解决方案对我有用。

我在我的产品环境中,这是我所做的:

  • 在做任何事情之前/之后清除缓存
  • 尝试注释掉 config_dev 中的 _assetic 东西并确保它不在其他任何地方(这在 prod env 中并不重要)
  • 将 use_controller 设置为 true 和 false (显然适用于 true 但不使用编译后的文件)

还有什么我想念的吗?php app/console assetic:dump --env=prod --no-debug 从文件名匹配错误中的文件名减去路径内容,文件生成完全正常 。

4

9 回答 9

50

我在一分钟前遇到了这个问题。清理缓存对我有用:

app/console cache:clear --env=prod

希望这可以帮助。

于 2012-08-13T11:57:13.030 回答
22

如果清除缓存或转储资产不起作用。试试noisebleed的评论:

// app/config_dev.yml
assetic:
    use_controller: true
    bundles: ['FooBarBundle']
于 2013-09-30T17:57:39.413 回答
14

也许您已经从 app/routing_dev.yml 中删除了资产路由

_assetic:
    resource: .
    type:     assetic
于 2013-11-20T16:19:20.330 回答
2

面临同样的问题,但原因是我将模板命名为“something.twig”,而不是“something.html.twig”。

它似乎资产不扫描扩展名中没有 .html 的模板。

结果 - 模板工作,但资产不执行从它的资产转储/添加路线。添加 .html 解决了这个问题。

于 2016-03-23T13:56:04.907 回答
1

使用哑字符(换行符、空格)更新 config.yml 会删除该错误。似乎通过这样做,我们强制重新生成缓存。(Symfony 3.0.0)

于 2016-01-27T09:13:17.357 回答
0

也许为时已晚,但是……对我有用的是:

php composer.phar install
php app/console cache:clear
php app/console cache:warmup
于 2014-09-17T19:15:12.490 回答
0

在这里尝试了所有建议的解决方案后,对我来说,这只是模板名称的问题。我有.twig但没有.html.twig扩展,仅此而已。

于 2020-03-04T19:49:23.413 回答
0

就像@Marcus 所说,如果您尝试过:

php bin/console cache:clear

它没有帮助,请your_project_root/var/cache手动清除文件夹(删除所有文件夹和文件)。如果您使用 unix/linux 系统,并且收到类似“删除文件时出错:权限被拒绝”的系统消息,您需要先更改对 dir 的访问权限,例如您可以使用控制台命令

sudo chmod -R 0777 /your_site_directory/var/cache/

在此之后,您可以清除缓存目录。

于 2016-10-11T15:00:52.370 回答
0

在尝试覆盖我的 Twig 模板目录后,我在 Symfony 3.3 中遇到了这个问题。不知道如何解决这个问题,但现在恢复到默认模板目录配置解决了这个问题。

# config.yml
twig:
    paths: ["%kernel.project_dir%/templates"] # Remove this line to use default dir
于 2018-01-30T21:16:00.480 回答