Search code examples
symfonydeploymentasseticcapifony

Method Assetic\AssetWriter::getCombinations() does not exist exception on symfony2 deploy using capifony


My deployment fail when calling:

cd /var/www/prod/releases/20130513164742 && php app/console assetic:dump --env=prod --no-debug

My setup worked fine yestertay but today I can't deploy it using the cap deploy command I checked by cloning the repo in my prod environment and executing php app/console assetic:dump --env=prod --no-debug (in dev mode), and it worked fine !

Any idea ?

 ** [out :: prod] executing "sh -c 'cd /var/www/prod/releases/20130513164742 && php app/console assetic:dump --env=prod --no-debug'"
 ** [out :: prod] PHP Deprecated:  getEntityManager is deprecated since Symfony 2.1. Use getManager instead in /var/www/prod/shared/vendor/doctrine/doctrine-bundle/Doctrine/Bundle/DoctrineBundle/Registry.php on line 71
 ** [out :: prod] Dumping all prod assets.
 ** [out :: prod] Debug mode is off.
 ** [out :: prod] 
 ** [out :: prod] 
 ** [out :: prod] 
 ** [out :: prod]                                                                 
 ** [out :: prod]   [ReflectionException]                                         
 ** [out :: prod]   Method Assetic\AssetWriter::getCombinations() does not exist  
 ** [out :: prod]                                                                 
 ** [out :: prod] 
 ** [out :: prod] 
 ** [out :: prod] assetic:dump [--watch] [--force] [--period="..."] [write_to]
 ** [out :: prod] 
 ** [out :: prod] 

Edit:

after updating vendor on my git clone I get this error

www-data@Prod:~/prod/dev$ php app/console assetic:dump --env=prod --no-debug
PHP Catchable fatal error:  Argument 2 passed to Doctrine\Bundle\DoctrineBundle\ManagerConfigurator::__construct() must be an array, none given, called in /var/www/prod/dev/app/cache/prod/appProdProjectContainer.php on line 116 and defined in /var/www/prod/dev/vendor/doctrine/doctrine-bundle/Doctrine/Bundle/DoctrineBundle/ManagerConfigurator.php on line 35

Solution

  • https://github.com/kriswallsmith/assetic/issues/412

    Add "kriswallsmith/assetic": "v1.1.0-alpha4",

    to your composer.json file, and update again

    You'll want to change this when they fix the issue

    EDIT:

    For the record, moving to "symfony/symfony": "2.3.*" works now, without specifying the above