web-dev-qa-db-fra.com

Erreur fatale: classe 'Symfony \ Component \ Console \ Input \ ArgvInput' introuvable dans l'application / console sur la ligne 16

J'ai une application symfony qui fonctionne, aujourd'hui j'ai décidé de faire un composer update

le résultat du composer update peut être trouvé ici https://github.com/allan-simon/oauth2-symfony2-vagrant-fosuserbundle/commit/dfa25593f79c5595ca4759803ec1e998091c68b9 (changement principalement dans la version mineure, notez qu'il y a un changement dans la version de symfony, mais le garder à 2.6 produit également les problèmes ci-dessous)

Et maintenant, après la mise à niveau, j'ai eu cette erreur

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler :: clearCache gérant l'événement post-update-cmd terminé avec une exception

[RuntimeException]                                                                                                
  An error occurred when executing the "'cache:clear --no-warmup'" command:                                         
  PHP Fatal error:  Class 'Symfony\Component\Console\Input\ArgvInput' not found in /vagrant/app/console on line 16  
  .   
  • Le contenu de l'application/console n'a pas changé
  • J'ai essayé de supprimer et de recréer le bootstrap.cache sans changement
  • Dans mon annuaire des fournisseurs, j'ai dit ArgvInput class

Une idée sur quel peut être le problème?

21
allan.simon

Le problème est dû au fait que mon composer.json avait la ligne

"sensio/distribution-bundle": ">=2.3.7",

Il s'agissait donc d'une mise à jour vers la dernière version (5.x au moment de la rédaction) qui est incompatible avec la structure des fichiers des projets symfony 2.7 et inférieurs

à la place, j'ai mis la ligne

"sensio/distribution-bundle": "~4.0",

et maintenant ça marche bien

plus d'explications ici

https://github.com/sensiolabs/SensioDistributionBundle/issues/24

27
allan.simon