Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packagist package breaking everything that uses symfony/polyfill-ctype #17

Closed
rtrvrtg opened this issue Dec 12, 2018 · 4 comments
Closed

Comments

@rtrvrtg
Copy link

rtrvrtg commented Dec 12, 2018

I’ve got more investigation to do on this, but it appears that in Composer 1.8.0, there’s a version constraint in your dependency list that’s breaking everything else that tries to use it. It wouldn’t matter except that when Composer updates its provides lists from packagist, every single provided package gets parsed, and there’s no way to exclude r6api/client. This appears to be similar to what got fixed in #15. As soon as I get the chance I’ll post more details.

@rtrvrtg
Copy link
Author

rtrvrtg commented Dec 12, 2018

Here's my output from Composer pointing to your repo. I'm using it through the Composer Manager module for Drupal 7:

$ drush composer-manager install -vvv

(snip)

Importing branch master (dev-master)
Writing /path/to/.composer/cache/repo/https---packagist.org/packages.json into cache
Installing dependencies (including require-dev)
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-2013.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-2014.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-2015.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-2016.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-2017.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-2018-01.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-2018-04.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-2018-07.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-2018-10.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/p-provider-archived.json from cache
Writing /path/to/.composer/cache/repo/https---packagist.org/p-provider-latest.json into cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-guzzlehttp$streams.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-wataridori$simple-fuzzy-search.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-phpunit$php-text-template.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-phpunit$phpunit-mock-objects.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-phpunit$php-token-stream.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-phpunit$php-file-iterator.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-phpunit$php-code-coverage.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-phpunit$php-timer.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-symfony$yaml.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-phpunit$phpunit.json from cache
Reading /path/to/.composer/cache/repo/https---packagist.org/provider-symfony$polyfill-ctype.json from cache


                                                                                                                                                                    
  [RuntimeException]                                                                                                                                                
  Could not load package r6api/client in http://packagist.org: [UnexpectedValueException] Could not parse version constraint ^v1.0: Invalid version string "^v1.0"  
                                                                                                                                                                    


Exception trace:
 () at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php:567
 Composer\Repository\ComposerRepository->createPackage() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php:324
 Composer\Repository\ComposerRepository->whatProvides() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php:192
 Composer\DependencyResolver\Pool->computeWhatProvides() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php:181
 Composer\DependencyResolver\Pool->whatProvides() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php:161
 Composer\DependencyResolver\RuleSetGenerator->whitelistFromPackage() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php:322
 Composer\DependencyResolver\RuleSetGenerator->getRulesFor() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/Solver.php:172
 Composer\DependencyResolver\Solver->solve() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Installer.php:503
 Composer\Installer->doInstall() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Installer.php:225
 Composer\Installer->run() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Command/InstallCommand.php:131
 Composer\Command\InstallCommand->execute() at /path/to/.drush/composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:257
 Symfony\Component\Console\Command\Command->run() at /path/to/.drush/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:874
 Symfony\Component\Console\Application->doRunCommand() at /path/to/.drush/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:195
 Symfony\Component\Console\Application->doRun() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Console/Application.php:147
 Composer\Console\Application->doRun() at /path/to/.drush/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:126
 Symfony\Component\Console\Application->run() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Console/Application.php:84
 Composer\Console\Application->run() at /path/to/.drush/composer/composer.drush.run.inc:55
 drush_composer_run() at /path/to/.drush/composer/composer.drush.inc:56
 drush_composer() at phar:///usr/local/bin/drush/includes/command.inc:364
 _drush_invoke_hooks() at phar:///usr/local/bin/drush/includes/command.inc:215
 drush_command() at phar:///usr/local/bin/drush/includes/command.inc:183
 drush_dispatch() at phar:///usr/local/bin/drush/includes/command.inc:48
 drush_invoke() at /path/to/docroot/sites/all/modules/contrib/composer_manager/composer_manager.drush.inc:96
 drush_composer_manager() at phar:///usr/local/bin/drush/includes/command.inc:364
 _drush_invoke_hooks() at phar:///usr/local/bin/drush/includes/command.inc:215
 drush_command() at phar:///usr/local/bin/drush/includes/command.inc:183
 drush_dispatch() at phar:///usr/local/bin/drush/lib/Drush/Boot/BaseBoot.php:65
 Drush\Boot\BaseBoot->bootstrap_and_dispatch() at phar:///usr/local/bin/drush/includes/preflight.inc:64
 drush_main() at phar:///usr/local/bin/drush/includes/startup.inc:289
 drush_startup() at phar:///usr/local/bin/drush/drush:114
 require() at /usr/local/bin/drush:10




                                                                            
  [UnexpectedValueException]                                                
  Could not parse version constraint ^v1.0: Invalid version string "^v1.0"  
                                                                            


Exception trace:
 () at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Package/Version/VersionParser.php:458
 Composer\Package\Version\VersionParser->parseConstraint() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Package/Version/VersionParser.php:264
 Composer\Package\Version\VersionParser->parseConstraints() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Package/Version/VersionParser.php:228
 Composer\Package\Version\VersionParser->parseLinks() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php:122
 Composer\Package\Loader\ArrayLoader->load() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php:558
 Composer\Repository\ComposerRepository->createPackage() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php:324
 Composer\Repository\ComposerRepository->whatProvides() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php:192
 Composer\DependencyResolver\Pool->computeWhatProvides() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php:181
 Composer\DependencyResolver\Pool->whatProvides() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php:161
 Composer\DependencyResolver\RuleSetGenerator->whitelistFromPackage() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php:322
 Composer\DependencyResolver\RuleSetGenerator->getRulesFor() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/DependencyResolver/Solver.php:172
 Composer\DependencyResolver\Solver->solve() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Installer.php:503
 Composer\Installer->doInstall() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Installer.php:225
 Composer\Installer->run() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Command/InstallCommand.php:131
 Composer\Command\InstallCommand->execute() at /path/to/.drush/composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:257
 Symfony\Component\Console\Command\Command->run() at /path/to/.drush/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:874
 Symfony\Component\Console\Application->doRunCommand() at /path/to/.drush/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:195
 Symfony\Component\Console\Application->doRun() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Console/Application.php:147
 Composer\Console\Application->doRun() at /path/to/.drush/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:126
 Symfony\Component\Console\Application->run() at /path/to/.drush/composer/vendor/composer/composer/src/Composer/Console/Application.php:84
 Composer\Console\Application->run() at /path/to/.drush/composer/composer.drush.run.inc:55
 drush_composer_run() at /path/to/.drush/composer/composer.drush.inc:56
 drush_composer() at phar:///usr/local/bin/drush/includes/command.inc:364
 _drush_invoke_hooks() at phar:///usr/local/bin/drush/includes/command.inc:215
 drush_command() at phar:///usr/local/bin/drush/includes/command.inc:183
 drush_dispatch() at phar:///usr/local/bin/drush/includes/command.inc:48
 drush_invoke() at /srv/www/wosip/docroot/sites/all/modules/contrib/composer_manager/composer_manager.drush.inc:96
 drush_composer_manager() at phar:///usr/local/bin/drush/includes/command.inc:364
 _drush_invoke_hooks() at phar:///usr/local/bin/drush/includes/command.inc:215
 drush_command() at phar:///usr/local/bin/drush/includes/command.inc:183
 drush_dispatch() at phar:///usr/local/bin/drush/lib/Drush/Boot/BaseBoot.php:65
 Drush\Boot\BaseBoot->bootstrap_and_dispatch() at phar:///usr/local/bin/drush/includes/preflight.inc:64
 drush_main() at phar:///usr/local/bin/drush/includes/startup.inc:289
 drush_startup() at phar:///usr/local/bin/drush/drush:114
 require() at /usr/local/bin/drush:10


install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [--ignore-platform-reqs] [packages1] ... [packagesN]

@Korbeil
Copy link
Contributor

Korbeil commented Dec 12, 2018

After some search, I found that on packagist: https://packagist.org/packages/r6api/client#1.1.0
With v1.1 we still have the

Replaces: symfony/polyfill-ctype: *

I don't understand why actually, will try to find more later, hope this can help.

@rtrvrtg
Copy link
Author

rtrvrtg commented Dec 12, 2018

Looks like the version of Composer that comes with Drupal's Drush Composer plugin is still locked to 1.0.0, which is way behind the latest version 1.8.0.
For what it's worth, your constraint seems to work fine when it's updated to this version, so I don't feel quite so urgent about this now, since I presume that the version constraint parser was improved sometime during this stretch, enough to handle ^v1.0. But yeah, I can keep helping you diagnose what's going on.

@Korbeil
Copy link
Contributor

Korbeil commented Feb 2, 2019

Sorry for delay, I just fixed last release with that replace problem, everything should be fixed now.

@Korbeil Korbeil closed this as completed Feb 2, 2019
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

No branches or pull requests

2 participants