PHPCSStandards / composer-installer

Composer installer for PHP_CodeSniffer coding standards
https://packagist.org/packages/dealerdirect/phpcodesniffer-composer-installer
MIT License
552 stars 36 forks source link

Class not found #78

Closed vv12131415 closed 5 years ago

vv12131415 commented 5 years ago

Problem/Motivation

Class Symfony\Component\Process\ProcessBuilder not found

Expected behaviour

normal composer call in the project dir, to show all commands

Actual behaviour

I randomly get errors, on composer call in my project dir that look like this image

Steps to reproduce

don't really know how to reproduce, it just happens randomly, the only thing that I can show is stack trace of composer -vvv

Reading ./composer.json
Loading config file ./composer.json
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/var/www): git branch --no-color --no-abbrev -v
Reading /home/laradock/.composer/composer.json
Loading config file /home/laradock/.composer/composer.json
Reading /var/www/vendor/composer/installed.json
Reading /home/laradock/.composer/vendor/composer/installed.json
Loading plugin Dealerdirect\Composer\Plugin\Installers\PHPCodeSniffer\Plugin
PHP Fatal error:  Uncaught Error: Class 'Symfony\Component\Process\ProcessBuilder' not found in /var/www/vendor/dealerdirect/phpcodesniffer-composer-installer/src/Plugin.php:118
Stack trace:
#0 /var/www/vendor/dealerdirect/phpcodesniffer-composer-installer/src/Plugin.php(103): Dealerdirect\Composer\Plugin\Installers\PHPCodeSniffer\Plugin->init()
#1 /var/www/vendor/composer/composer/src/Composer/Plugin/PluginManager.php(236): Dealerdirect\Composer\Plugin\Installers\PHPCodeSniffer\Plugin->activate(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#2 /var/www/vendor/composer/composer/src/Composer/Plugin/PluginManager.php(205): Composer\Plugin\PluginManager->addPlugin(Object(Dealerdirect\Composer\Plugin\Installers\PHPCodeSniffer\Plugin))
#3 /var/www/vendor/composer/composer/src/Composer/Plugin/PluginManager.php(261): Composer\Plugin\PluginManager->registerPackage(Object(Composer\Package\CompletePackage))
#4 /var/www/vendor/composer/composer/src/Composer/Plugin/PluginManager.php(76): Composer\Plugin\PluginManager->loadRepos in /var/www/vendor/dealerdirect/phpcodesniffer-composer-installer/src/Plugin.php on line 118

Fatal error: Uncaught Error: Class 'Symfony\Component\Process\ProcessBuilder' not found in /var/www/vendor/dealerdirect/phpcodesniffer-composer-installer/src/Plugin.php:118
Stack trace:
#0 /var/www/vendor/dealerdirect/phpcodesniffer-composer-installer/src/Plugin.php(103): Dealerdirect\Composer\Plugin\Installers\PHPCodeSniffer\Plugin->init()
#1 /var/www/vendor/composer/composer/src/Composer/Plugin/PluginManager.php(236): Dealerdirect\Composer\Plugin\Installers\PHPCodeSniffer\Plugin->activate(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#2 /var/www/vendor/composer/composer/src/Composer/Plugin/PluginManager.php(205): Composer\Plugin\PluginManager->addPlugin(Object(Dealerdirect\Composer\Plugin\Installers\PHPCodeSniffer\Plugin))
#3 /var/www/vendor/composer/composer/src/Composer/Plugin/PluginManager.php(261): Composer\Plugin\PluginManager->registerPackage(Object(Composer\Package\CompletePackage))
#4 /var/www/vendor/composer/composer/src/Composer/Plugin/PluginManager.php(76): Composer\Plugin\PluginManager->loadRepos in /var/www/vendor/dealerdirect/phpcodesniffer-composer-installer/src/Plugin.php on line 118

Also I'll mention that what helps to solve that, is to rm -rf vendor/, but then composer in not found in the whole container (bash: /var/www/vendor/bin/composer: No such file or directory), so, to solve that, I need to exit container and do docker-composer exec {containerName} bash

frenck commented 5 years ago

Are you running 0.5.0? Since that version should have resolved that.

vv12131415 commented 5 years ago

@frenck whoops! I do use 0.4.4, my fault, sorry. This package is "soft" dependency for my. I depend on https://github.com/doctrine/coding-standard/ which uses 0.4 version right now, hope to see their 6.0 version to get to 0.5 version of this plugin. thanks!