Symfony 升级到 4.1 assets 报错

Symfony upgrade to 4.1 assets error

我为 Symfony 4.1 迁移了一个项目,但没有将文件结构更改为新的 Symfony 文件结构。例如,我的资产保留在 \web 文件夹中。 除了资产外,它工作正常。为了解决这个问题,我更换了控制器:

$this->container->get('templating.helper.assets')->getUrl($path);

$this->container->get('assets.packages')->getUrl($path);

我也执行以下命令:composer require symfony/asset

在此之后,当我 运行 网页时出现以下错误:

编译容器时,"assets.packages" 服务或别名已被删除或内联。你应该要么做到 public,要么停止直接使用容器并改用依赖注入。

为了修复这个错误,我把它放在 services.yml:

services:
assets.packages:
    class: \Symfony\Component\Asset\Packages
    public: true

但在那之后我得到另一个错误:

你知道那可能是什么吗?有什么问题吗?

Assetic不再使用,请使用Webpack Encore https://symfony.com/doc/current/frontend.html

我已经能够修复错误。在服务中添加默认包作为参数就足够了:

assets.packages:
    class: \Symfony\Component\Asset\Packages
    arguments: ['@assets._default_package']
    public: true