2014-10-07 30 views
8

Trong khi làm việc trên dự án Symfony2 của tôi, tôi (dường như) ngẫu nhiên nhận được lỗi InvalidArgumentException: The service definition "templating.helpers.assets" does not exist. khi truy cập bất kỳ trang nào. Tôi đã cố gắng quay trở lại những cam kết trước đó, nhưng điều đó không thay đổi bất cứ điều gì. Vì vậy, nó không có vẻ là bất kỳ mã nguồn của riêng tôi. Tôi cũng không thể composer update. Tôi đã thử xóa tệp bộ nhớ cache, thư mục nhà cung cấp và tệp composer.lock nhưng tôi vẫn gặp lỗi này:Symfony2: InvalidArgumentException: Định nghĩa dịch vụ "templating.helpers.assets" không tồn tại

Loading composer repositories with package information

Updating dependencies (including require-dev)

Generating autoload files

Updating the "app/config/parameters.yml" file

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
The service definition "templating.helpers.assets" does not exist.

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception

[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command.

Bất kỳ ý tưởng nào?

+0

Điều này có vẻ giống như một typo . Không nên là: 'templating.helper.assets' (không có s). Có bất kỳ phụ thuộc nào của bạn đang cố gắng sử dụng điều đó không? Bạn đã thử tìm kiếm dự án của mình cho chuỗi đó chưa? Có bất kỳ gói soạn nhạc nào của bạn được cập nhật gần đây không? Bạn có sử dụng các phiên bản cố định không? – Fred

+0

Tôi không sử dụng các phiên bản cố định, nhưng tôi đã không cập nhật các gói bất kỳ lúc nào khi sự cố xảy ra. Tôi đã cố gắng tìm kiếm chuỗi trong dự án của tôi, nhưng không có gì rất hữu ích (ít nhất là với tôi) đã đưa ra. Chỉ cần các công cụ như TwigBundle Assets Extension và một số nội dung cache trước khi tôi xóa cache. Nhưng tôi đã không chỉnh sửa bất kỳ tập tin twig, chỉ cần scss vào thời điểm đó. Bây giờ bạn đã làm cho nó trở nên số nhiều, tôi đã tổ chức các tệp scss của mình và tạo một thư mục con trong thư mục css được gọi là 'helpers'. Nhưng tôi thậm chí đã thử xóa thư mục đó và lỗi vẫn đang xảy ra. – ryanwiesjahn

+0

May mắn là tôi đã triển khai mã đến máy chủ dev từ xa trước khi sự cố xảy ra, vì vậy tôi có thể lấy và cập nhật cam kết mới nhất, đã khắc phục sự cố của tôi. Tôi vẫn không nhìn thấy những gì sẽ gây ra vấn đề này mặc dù. – ryanwiesjahn

Trả lời

0

FYI vụ templating.helper.assets tồn tại

php app/console container:debug templating.helper.assets 
[container] Information for service templating.helper.assets 
Service Id  templating.helper.assets 
Class   Symfony\Component\Templating\Helper\CoreAssetsHelper 
Tags 
    - templating.helper    (alias: assets) 
Scope   request 
Public   yes 
Synthetic  no 
Lazy    no 
Synchronized  no 
Abstract   no 

Nó được tạo ra bởi Symfony\Bundle\FrameworkBundle\FrameworkBundle() và quy định tại Resources\config\templating_php.xml

<service id="templating.helper.assets" class="%templating.helper.assets.class%"> 
     <tag name="templating.helper" alias="assets" /> 
     <argument /> <!-- default package --> 
     <argument type="collection" /> <!-- named packages --> 
    </service> 

Vì vậy, thêm bó này trong thư mục appKernel.php

public function registerBundles() 
{ 
    $bundles = array(
     //Standard 
     new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), 
     //others bundles 
Các vấn đề liên quan