Skip to content

Conversation

@rosier
Copy link
Contributor

@rosier rosier commented Apr 29, 2021

Composer fails during the upgrade of symfony/flex

$ composer create-project symfony/skeleton flex && cd flex
$ composer require symfony/flex dev-main -v
./composer.json has been updated
Running composer update symfony/flex
> pre-update-cmd: Symfony\Flex\Flex_composer_tmp0->configureInstaller
Loading composer repositories with package information
> pre-pool-create: Symfony\Flex\Flex_composer_tmp0->truncatePackages
Updating dependencies
Dependency resolution completed in 0.000 seconds
Analyzed 135 packages to resolve dependencies
Analyzed 210 rules to resolve dependencies
Lock file operations: 0 installs, 1 update, 0 removals
Updates: symfony/flex:dev-main 4d7970f
  - Upgrading symfony/flex (v1.12.2 => dev-main 4d7970f)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
Updates: symfony/flex:dev-main 4d7970f
  - Upgrading symfony/flex (v1.12.2 => dev-main 4d7970f): Extracting archive
PHP Fatal error:  Uncaught ArgumentCountError: Too few arguments to function Symfony\Flex\Command\GenerateIdCommand::__construct(), 0 passed in phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(213) : eval()'d code on line 278 and exactly 1 expected in /private/tmp/flex/vendor/symfony/flex/src/Command/GenerateIdCommand.php:22
Stack trace:
#0 phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(213) : eval()'d code(278): Symfony\Flex\Command\GenerateIdCommand->__construct()
#1 phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(320): Symfony\Flex\Flex_composer_tmp1->activate(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#2 phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(224): Composer\Plugin\PluginManager->addPlugin(Object(Symfony\Flex\Flex_composer_tmp1), false)
#3 phar:///usr/local/bin/composer/src/Composer/Installer/PluginInstaller.php(100): Composer\Plugin\PluginManager->registerPackage(Object(Composer\Package\CompletePackage), true)
#4 [in in /private/tmp/flex/vendor/symfony/flex/src/Command/GenerateIdCommand.php on line 22

@rosier rosier changed the title Fix too few arguments during upgrading for GenerateIdCommand::__construct() Fix errors during the upgrade or downgrade of symfony/flex Apr 30, 2021
@rosier rosier marked this pull request as draft April 30, 2021 18:01
@rosier
Copy link
Contributor Author

rosier commented Apr 30, 2021

Composer also fails during the downgrade of symfony/flex

$ composer create-project symfony/skeleton flex && cd flex
$ composer require symfony/flex dev-main --no-plugins --no-scripts
$ composer require symfony/flex
Using version ^1.12 for symfony/flex
./composer.json has been updated
Running composer update symfony/flex
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
  - Upgrading symfony/flex (dev-main 4d7970f => v1.12.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Upgrading symfony/flex (dev-main 4d7970f => v1.12.2): Extracting archive
PHP Fatal error:  Uncaught Error: Call to undefined method Symfony\Flex\Downloader::setFlexId() in phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(213) : eval()'d code:129
Stack trace:
#0 phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(320): Symfony\Flex\Flex_composer_tmp1->activate(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#1 phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(224): Composer\Plugin\PluginManager->addPlugin(Object(Symfony\Flex\Flex_composer_tmp1), false)
#2 phar:///usr/local/bin/composer/src/Composer/Installer/PluginInstaller.php(100): Composer\Plugin\PluginManager->registerPackage(Object(Composer\Package\CompletePackage), true)
#3 [internal function]: Composer\Installer\PluginInstaller->Composer\Installer\{closure}(NULL)
#4 phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/FulfilledPromise.php(20): call_user_func(Object(Closure), NULL)
#5 phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred in phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(213) : eval()'d code on line 129

@rosier rosier marked this pull request as ready for review April 30, 2021 19:09
@fabpot
Copy link
Member

fabpot commented May 1, 2021

Thank you @rosier.

@fabpot fabpot merged commit c15bccf into symfony:main May 1, 2021
@rosier rosier deleted the up branch May 1, 2021 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants