Closed eiriksm closed 3 years ago
Ah, it's not just us then. Just came here to report this as well.
FWIW, it's not the fault of commerce_giftcard or related to that, it's enough to just run composer update after requiring this.
This is critical issue, abort every composer-related operations. :(
composer update
returns
[ErrorException] Undefined index: extra
Exception trace: at /var/www/drupal/irbis/vendor/zaporylie/composer-drupal-optimizations/src/Cache.php:76
The same error occured to me when trying to update Core using drupal/core-recommended. We don't use custom VCS repos in our composer.json.
Seeing this as well, no VCS repositories
Exception trace:
() at ~/.composer/vendor/zaporylie/composer-drupal-optimizations/src/Cache.php:76
Composer\Util\ErrorHandler::handle() at ~/.composer/vendor/zaporylie/composer-drupal-optimizations/src/Cache.php:76
zaporylie\ComposerDrupalOptimizations\Cache->removeLegacyTags() at ~/.composer/vendor/zaporylie/composer-drupal-optimizations/src/TruncatedComposerRepository.php:21
zaporylie\ComposerDrupalOptimizations\TruncatedComposerRepository->fetchFile() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/Repository/ComposerRepository.php:366
Composer\Repository\ComposerRepository->whatProvides() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/DependencyResolver/Pool.php:204
Composer\DependencyResolver\Pool->computeWhatProvides() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/DependencyResolver/Pool.php:193
Composer\DependencyResolver\Pool->whatProvides() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/DependencyResolver/RuleSetGenerator.php:164
Composer\DependencyResolver\RuleSetGenerator->whitelistFromPackage() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/DependencyResolver/RuleSetGenerator.php:353
Composer\DependencyResolver\RuleSetGenerator->getRulesFor() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/DependencyResolver/Solver.php:217
Composer\DependencyResolver\Solver->solve() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/Installer.php:489
Composer\Installer->doInstall() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/Installer.php:232
Composer\Installer->run() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/Command/UpdateCommand.php:163
Composer\Command\UpdateCommand->execute() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/Console/Application.php:281
Composer\Console\Application->doRun() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/src/Composer/Console/Application.php:113
Composer\Console\Application->run() at phar:///usr/local/Cellar/composer/1.10.5/bin/composer/bin/composer:61
require() at /usr/local/Cellar/composer/1.10.5/bin/composer:24
Seems to happen on the symfony/symfony project according to $packageName
And adding a ?? 'master' as fallback if dev-master branch alias is not set seems to work, but no idea if that's the right fix.
symfony/symfony
already has $composerJson['version_normalized']
set, thus nothing in $composerJson['extra']['branch-alias']['dev-master']
Array
(
[name] => symfony/symfony
[description] => The Symfony PHP framework
[keywords] => Array
(
[0] => framework
)
[homepage] => https://symfony.com
[version] => dev-master
[version_normalized] => 9999999-dev
[license] => Array
(
[0] => MIT
)
[authors] => Array
(
[0] => Array
(
[name] => Fabien Potencier
[email] => fabien@symfony.com
)
[1] => Array
(
[name] => Symfony Community
[homepage] => https://symfony.com/contributors
)
)
[source] => Array
(
[type] => git
[url] => https://github.com/symfony/symfony.git
[reference] => 5f1c3a797247a6d54992384df00bb22741fc1c34
)
[dist] => Array
(
[type] => zip
[url] => https://api.github.com/repos/symfony/symfony/zipball/5f1c3a797247a6d54992384df00bb22741fc1c34
[reference] => 5f1c3a797247a6d54992384df00bb22741fc1c34
[shasum] =>
)
[type] => library
[funding] => Array
(
[0] => Array
(
[url] => https://symfony.com/sponsor
[type] => custom
)
[1] => Array
(
[url] => https://github.com/fabpot
[type] => github
)
[2] => Array
(
[url] => https://tidelift.com/funding/github/packagist/symfony/symfony
[type] => tidelift
)
)
[time] => 2020-10-06T08:20:59+00:00
[autoload] => Array
(
[psr-4] => Array
(
[Symfony\Bridge\Doctrine\] => src/Symfony/Bridge/Doctrine/
[Symfony\Bridge\Monolog\] => src/Symfony/Bridge/Monolog/
[Symfony\Bridge\ProxyManager\] => src/Symfony/Bridge/ProxyManager/
[Symfony\Bridge\Twig\] => src/Symfony/Bridge/Twig/
[Symfony\Bundle\] => src/Symfony/Bundle/
[Symfony\Component\] => src/Symfony/Component/
)
[classmap] => Array
(
[0] => src/Symfony/Component/Intl/Resources/stubs
)
[exclude-from-classmap] => Array
(
[0] => **/Tests/
)
)
[default-branch] => 1
[require] => Array
(
[php] => >=7.2.5
[ext-xml] => *
[doctrine/event-manager] => ~1.0
[twig/twig] => ^2.10|^3.0
[psr/cache] => ~1.0
[psr/container] => ^1.0
[psr/event-dispatcher] => ^1.0
[psr/link] => ^1.0
[psr/log] => ~1.0
[symfony/contracts] => ^2.1
[symfony/polyfill-ctype] => ~1.8
[symfony/polyfill-intl-grapheme] => ~1.0
[symfony/polyfill-intl-icu] => ~1.0
[symfony/polyfill-intl-idn] => ^1.10
[symfony/polyfill-intl-normalizer] => ~1.0
[symfony/polyfill-mbstring] => ~1.0
[symfony/polyfill-php73] => ^1.11
[symfony/polyfill-php80] => ^1.15
[symfony/polyfill-uuid] => ^1.15
[doctrine/persistence] => ^1.3|^2
)
[require-dev] => Array
(
[amphp/http-tunnel] => ^1.0
[async-aws/ses] => ^1.0
[async-aws/sqs] => ^1.0
[cache/integration-tests] => dev-master
[composer/package-versions-deprecated] => ^1.8
[doctrine/annotations] => ~1.0
[doctrine/cache] => ~1.6
[doctrine/collections] => ~1.0
[doctrine/orm] => ~2.4,>=2.4.5
[doctrine/reflection] => ~1.0
[doctrine/doctrine-bundle] => ^2.0
[guzzlehttp/promises] => ^1.3.1
[masterminds/html5] => ^2.6
[monolog/monolog] => ^1.25.1|^2
[nyholm/psr7] => ^1.0
[ocramius/proxy-manager] => ^2.1
[paragonie/sodium_compat] => ^1.8
[php-http/httplug] => ^1.0|^2.0
[predis/predis] => ~1.1
[psr/http-client] => ^1.0
[psr/simple-cache] => ^1.0
[egulias/email-validator] => ~1.2,>=1.2.8|~2.0
[symfony/security-acl] => ~2.8|~3.0
[phpdocumentor/reflection-docblock] => ^3.0|^4.0|^5.0
[twig/cssinliner-extra] => ^2.12
[twig/inky-extra] => ^2.12
[twig/markdown-extra] => ^2.12
[doctrine/data-fixtures] => ^1.1
[symfony/phpunit-bridge] => ^5.2
[pda/pheanstalk] => ^4.0
[doctrine/dbal] => ^2.10|^3.0
[amphp/amp] => ^2.5
[amphp/http-client] => ^4.2.1
)
[conflict] => Array
(
[doctrine/dbal] => <2.10
[masterminds/html5] => <2.6
[phpdocumentor/reflection-docblock] => <3.2.2
[phpdocumentor/type-resolver] => <0.3.0
[ocramius/proxy-manager] => <2.1
[phpunit/phpunit] => <5.4.3
)
[replace] => Array
(
[symfony/asset] => self.version
[symfony/amazon-mailer] => self.version
[symfony/browser-kit] => self.version
[symfony/cache] => self.version
[symfony/config] => self.version
[symfony/console] => self.version
[symfony/css-selector] => self.version
[symfony/dependency-injection] => self.version
[symfony/debug-bundle] => self.version
[symfony/doctrine-bridge] => self.version
[symfony/dom-crawler] => self.version
[symfony/dotenv] => self.version
[symfony/error-handler] => self.version
[symfony/event-dispatcher] => self.version
[symfony/expression-language] => self.version
[symfony/filesystem] => self.version
[symfony/finder] => self.version
[symfony/form] => self.version
[symfony/framework-bundle] => self.version
[symfony/google-mailer] => self.version
[symfony/http-client] => self.version
[symfony/http-foundation] => self.version
[symfony/http-kernel] => self.version
[symfony/inflector] => self.version
[symfony/intl] => self.version
[symfony/ldap] => self.version
[symfony/lock] => self.version
[symfony/mailchimp-mailer] => self.version
[symfony/mailer] => self.version
[symfony/mailgun-mailer] => self.version
[symfony/messenger] => self.version
[symfony/mime] => self.version
[symfony/monolog-bridge] => self.version
[symfony/notifier] => self.version
[symfony/options-resolver] => self.version
[symfony/postmark-mailer] => self.version
[symfony/process] => self.version
[symfony/property-access] => self.version
[symfony/property-info] => self.version
[symfony/proxy-manager-bridge] => self.version
[symfony/routing] => self.version
[symfony/security-core] => self.version
[symfony/security-csrf] => self.version
[symfony/security-guard] => self.version
[symfony/security-http] => self.version
[symfony/security-bundle] => self.version
[symfony/sendgrid-mailer] => self.version
[symfony/serializer] => self.version
[symfony/stopwatch] => self.version
[symfony/string] => self.version
[symfony/templating] => self.version
[symfony/translation] => self.version
[symfony/twig-bridge] => self.version
[symfony/twig-bundle] => self.version
[symfony/uid] => self.version
[symfony/validator] => self.version
[symfony/var-dumper] => self.version
[symfony/var-exporter] => self.version
[symfony/web-link] => self.version
[symfony/web-profiler-bundle] => self.version
[symfony/workflow] => self.version
[symfony/yaml] => self.version
[symfony/semaphore] => self.version
[symfony/rate-limiter] => self.version
)
[uid] => 3964350
)
Related (?) issue: https://github.com/composer/composer/issues/8047
Hi all, thanks for reporting this. Seems like related to https://github.com/symfony/symfony/commit/5f1c3a797247a6d54992384df00bb22741fc1c34. I'll investigate how symfony/flex deals with it which this repo is inspired by.
Same issue with any composer require "drupal module"
works for me but Im not sure that it could be a solution. Maybe temporal fix.... hope to help!
@eiriksm Today I upgraded to drupal core 8.8.10 with other dependencies and it was working fine. But now I am getting this issue while doing composer update ..will that go away once this fix gets deployed?
Hello,
I asked on Slack too: https://drupal.slack.com/archives/C1BMUQ9U6/p1601974346171200
Created and tested #22 which I'll greatly appreciate some else could have a look at.
It's works for me ! thx
Release soon!? :)
Very soon :wink: FYI the steps to upgrade from <1.1.2 to 1.1.2 will involve removing all dev dependencies or manually deleting vendor/zaporylie/composer-drupal-optimizations
directory for the time when composer update zaporylie/composer-drupal-optimizations
command is running.
rm -rf vendor/zaporylie/composer-drupal-optimizations
composer update zaporylie/composer-drupal-optimizations
or
composer install --no-dev
composer update zaporylie/composer-drupal-optimizations
or
composer update zaporylie/composer-drupal-optimizations --no-plugins
composer update --lock
Thanks! :)
Thanks, I used the first method and it worked perfectly. I was able to run composer update
afterwards without any problems.
awesome! thanks <3
Awesome. Thanks for prompt fix!
Thanks! This helps.
Tested! Works perfect. Thanks :)
Thanks, it's works for Drupal
I ran into an out of memory error so I had to add COMPOSER_MEMORY_LIMIT=-1
to the 2nd command. Thanks for the quick fix on this!
rm -rf vendor/zaporylie/composer-drupal-optimizations COMPOSER_MEMORY_LIMIT=-1 composer update zaporylie/composer-drupal-optimizations
rm -rf vendor/zaporylie/composer-drupal-optimizations
php -d memory_limit=-1 "$(which composer)" update zaporylie/composer-drupal-optimizations
This solution fixed the problem, but this is breaking every site we have. Why is 1.1 giving fatal errors and can you update the release notes to reflect the problem.
Thanks for this fix folks, much appreciated.
Thank you @zaporylie
Thanks @zaporylie !
Thank you :)
Anybody else notice that the vendor/zaporylie
is empty after this?
rm -rf vendor/zaporylie/composer-drupal-optimizations
composer update zaporylie/composer-drupal-optimizations
ls -la vendor/zaporylie
@jcandan I had to run rm -rf vendor/zaporylie/composer-drupal-optimizations COMPOSER_MEMORY_LIMIT=-1 composer update zaporylie/composer-drupal-optimizations --no-plugins
The above approaches did not work for me (just hangs on update). My current project is in early development, so it could be unrelated to this issue. I had to remove the entire vendor directory and then composer update
.
Thank you @zaporylie. I also ran into PHP Fatal error
, so adding COMPOSER_MEMORY_LIMIT=-1
to the second command fix that for me. Thanks, @ChristopherMatthews, for pointing that out.
Steps to reproduce: