My composer.json:
{
"name": "prooph/event-store-client",
"type": "library",
"license": "BSD-3-Clause",
"authors": [
{
"name": "Sascha-Oliver Prolic",
"email": "[email protected]"
}
],
"keywords": [
"EventStore",
"EventSourcing",
"DDD",
"prooph",
"Amp",
"Async"
],
"prefer-stable": true,
"require": {
"php": "^7.2",
"ext-json": "*",
"amphp/amp": "^2.0.7",
"amphp/artax": "^3.0.14",
"amphp/byte-stream": "^1.3.1",
"amphp/cache": "^1.2.0",
"amphp/dns": "^0.9.13",
"amphp/file": "^0.3.1",
"amphp/log": "^1.0.0",
"amphp/parallel": "^0.2.5",
"amphp/process": "^0.3.3",
"amphp/socket": "^0.10.9",
"amphp/uri": "^0.1.3",
"ramsey/uuid": "^3.7.3"
},
"require-dev": {
"malukenho/docheader": "^0.1.4",
"phpspec/prophecy": "^1.7",
"phpunit/phpunit": "^7.3.3",
"prooph/php-cs-fixer-config": "^0.2.1",
"satooshi/php-coveralls": "^1.0"
},
"autoload": {
"psr-4": {
"Prooph\\EventStoreClient\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"ProophTest\\EventStoreClient\\": "tests/"
}
},
"scripts": {
"check": [
"@cs",
"@test"
],
"cs": "php-cs-fixer fix -v --diff --dry-run",
"cs-fix": "php-cs-fixer fix -v --diff",
"test": "phpunit"
},
"config": {
"sort-packages": true
}
}
Output of composer diagnose:
Checking composer.json: OK
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com oauth access: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0 87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B 0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: af677553cce0967bf7c364d64a9a169152c33fcd
PHP version: 7.1.22
PHP binary path: /home/kelunik/.phpenv/versions/7.1.22/bin/php
When I run this command:
composer install -vvv
I get the following output:
...
Reading /home/kelunik/.cache/composer/repo/https---repo.packagist.org/provider-guzzle$guzzle.json from cache
Reading /home/kelunik/.cache/composer/repo/https---repo.packagist.org/provider-symfony$config.json from cache
Reading /home/kelunik/.cache/composer/repo/https---repo.packagist.org/provider-symfony$yaml.json from cache
Resolving dependencies through SAT
Looking at all rules.
Something's changed, looking at all rules again (pass #135)
And I expected this to happen:
Composer shouldn't hang in the Something's changed, looking at all rules again state and count the pass up forever.
It eventually worked... but it took really long.
Something's changed, looking at all rules again (pass #362)
Dependency resolution completed in 240.838 seconds
Not sure whether I should close this issue or keep it open to have a look at the performance.
Not sure why exactly it took so long, my laptop isn't incredibly fast (nor slow either) but it definitely did not take that long for me:
[382.4MB/67.93s] Dependency resolution completed in 55.948 seconds
This started happening to me just yesterday with the following composer.json:
{
"name": "netgen/layouts-ezplatform-site-api",
"description": "Netgen Layouts & eZ Platform Site API integration",
"license": "GPL-2.0-only",
"type": "symfony-bundle",
"authors": [
{
"name": "Netgen",
"homepage": "https://www.netgenlabs.com"
}
],
"require": {
"netgen/layouts-ezplatform": "~0.12.0",
"netgen/ezplatform-site-api": "^2.5"
},
"require-dev": {
"phpunit/phpunit": "^7.3",
"symfony/phpunit-bridge": "^4.1",
"symfony/var-dumper": "^2.8 || ^3.4 || ^4.1",
"phpstan/phpstan": "^0.10",
"phpstan/phpstan-phpunit": "^0.10",
"matthiasnoback/symfony-dependency-injection-test": "^3.0",
"matthiasnoback/symfony-config-test": "^4.0",
"franzl/studio": "*"
},
"scripts": {
"test": "@php vendor/bin/phpunit --colors=always",
"coverage": "@php -dzend_extension=xdebug.so vendor/bin/phpunit --coverage-html=coverage --colors=always",
"phpstan": "@php vendor/bin/phpstan analyse -c phpstan.neon --level=7 --ansi lib bundle",
"phpstan-tests": "@php vendor/bin/phpstan analyse -c phpstan.tests.neon --level=7 --ansi tests"
},
"autoload": {
"psr-4": {
"Netgen\\BlockManager\\SiteAPI\\": "lib/",
"Netgen\\Bundle\\SiteAPIBlockManagerBundle\\": "bundle/"
}
},
"autoload-dev": {
"files": [
"vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php"
],
"psr-4": {
"Netgen\\BlockManager\\SiteAPI\\Tests\\": "tests/lib/",
"Netgen\\Bundle\\SiteAPIBlockManagerBundle\\Tests\\": "tests/bundle/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"extra": {
"branch-alias": {
"dev-master": "0.12.x-dev"
}
}
}
I stopped the execution after pass no. 200.
Output of composer diagnose:
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com oauth access: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0 87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B 0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 1.7.2
PHP version: 7.2.10
PHP binary path: /usr/bin/php7.2
I had this problem as well. I forced composer to stop after pass 1k+.
It turns out that it's caused by this combination of require-dev dependencies:
"require-dev": {
"phpunit/phpunit": "~6.0",
"friendsofphp/php-cs-fixer": "^2.10",
"phpmd/phpmd" : "@stable",
"phpdocumentor/phpdocumentor": "2.*"
},
Removing phpdocumentor resolved the issue in my case.
I'm encountering the same problem. Even after waiting for an hours it was still is the state of "Something's changed, looking at all rules again" Looks like it each rule take a minute to be checked.
Hi,
I'm encountering the same problem. Is there any update on this issue?
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~6.0",
"phpspec/phpspec": "~2.1",
"doctrine/dbal": "^2.5",
"filp/whoops": "~2.0"
After removing the phpspec/phpspec composer update works fine.
I have been trying to install https://github.com/orchestral/testbench
I temporarily removed "illuminate/support": "5.5.*|5.6.*|5.7.*" from require section and it worked. Not sure what's happening.
I had the same issue too. I removed phpunit and phing from my composer file. I'm not sure which one was the causing the problem, or both. But it works now.
Maybe the issue happens with PHP 7.2 and not with PHP 7.1?
https://travis-ci.com/freshbitsweb/laratables/builds/89503447
had the issue with php 7.1, removing phpspec/phpspec from require-dev helped me as well
One of my servers was PHP 7.1. The other was PHP 7.0. I didn't seem to work on either. I haven't tried PHP 7.2, so I'm not sure.
Can anybody here explain what exactly Composer does/thinks/tries when this message is generated?
I'm not sure. It would make sense if it didn't work because of something being wrong with the package, but from what I can tell, that's not the case at all. To start with, I would think that one of the developers should be able to explain under what circumstances this message is generated.
Currently getting this issue, removing "phpunit/phpunit": "4.1.0", fixed this for me.
"require-dev": {
"phpunit/phpunit": "4.1.0",
"squizlabs/php_codesniffer": "1.5.3",
"phpmd/phpmd": "@stable",
"pdepend/pdepend": "2.4.0",
"fabpot/php-cs-fixer": "~1.2",
"lusitanian/oauth": "~0.3 <=0.7.0",
"sebastian/phpcpd": "2.0.0",
"deployphp/recipes": "4.0"
},
I'm experiencing the same issue.
This particular project requires many of the same libraries mentioned in previous comments, though I have yet to determine which library, if any, is responsible for the behavior.
After 20 minutes, Composer is on pass 2100 and counting... I'll update my comment if I determine which package is responsible.
$ composer diagnose
Checking composer.json: WARNING
The package "swiftmailer/swiftmailer" is pointing to a commit-ref, this is bad practice and can cause unforeseen issues.
require.swiftmailer/swiftmailer : unbound version constraints (dev-master#4c4b333c9164b74aaceb7ff9bef2d55f7a5514b8 as v6.0.2) should be avoided
require.mmic/policy-documents : unbound version constraints (dev-master) should be avoided
require.cartalyst/composite-config : exact version constraints (2.0.4) should be avoided if the package follows semantic versioning
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com oauth access: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0 87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B 0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 1.8.4
PHP version: 7.1.27
PHP binary path: /usr/bin/php7.1
Update: Removing "orchestra/testbench": "~3.0" eliminates the issue. The question, of course, is why?
Also, this Issue seems to be a duplicate of or related to #7147 , although, composer clear-cache does not fix the issue for me, despite resolving the problem for others in the linked discussion.
PHP 7.1 + Ubuntu 16.04 (Core i7) + composer 1.7.2
My workaround for this was to remove the entire require-dev block (x7 deps) and then re-run composer update. This ran sucessfully. Once complete, I then added each dev-dep back-into composer.json one-by-one, running composer update each time. I repeated this twice to be sure.
Note: I still got the "Something's changed" message each time, but it only ran for ~5+ passes (As opposed to hundreds), and took 2-3s.
Hope that helps someone.
Thanks for the suggestion @phptek , but that doesn't change the behavior in my case. I have no trouble removing the dependencies and re-adding all of them, excepting only the problematic one. In fact, I don't even see the Something's changed ... message for any others.
I let this run overnight and woke up to 12578 passes. Clearly, this is some kind of a loop that will never exit.
I'm going to jump over to the other Issue, because it has already been marked as a Bug, whereas this one is being ignored.
UPDATE: Actually, upon closer inspection, I'm not convinced that both Issues represent the same bug. Only one person mentions Something's changed, looking at all rules again, and it was recently, on Feb 9, 2019.
It's clear that something specific about the offending package triggers the behavior. Simply changing the dependency version range to "orchestra/testbench": "^3.5" installs version 3.5.5 and works without issue.
@alcohol Mind changing the label to Bug?
I was able to reproduce it with this minimal composer.json
{
"name": "smichaelsen/composer-test",
"require": {
"behat/behat": "~2.5",
"friendsofphp/php-cs-fixer": "^2.12"
}
}
Well, I guess have to decide between tested code and clean code then..
@naderman the above composer.json sample indeed seems incredibly problematic. Would you be able to dive into the solver and see what the underlying cause for this is?
I also had a similar problem today trying to update my application to Laravel 5.6 and then 5.7. In my case I had to remove phpspec/phpspec and another library that was requesting Symfony components from version 3.2 by using the following condition 3.2.*. Not sure why, but in other cases it was just raising errors immediately, and I would had expected the same scenario for this library, but it didn't happen
I've made a somewhat smaller reproduce case without network reliance and posted it in a gist here: https://gist.github.com/naderman/1399cdee05d6d0027890bd0b3e3c0e7f - this was created with the help of the experimental generate test debug command which I made a PR for here: https://github.com/composer/composer/pull/8100
In this reduced version it does eventually arrive at a point where rules no longer change, but it then still stays at 100% CPU after that, not sure what it's doing at that point. I eventually killed the script.
It does look like there may be a version conflict here which due to some interdependence it just takes a really long time to really identify, because it keeps thinking there may be a combination of packages and versions that could work after all.
Actually as you can tell from my gist and a bit of analysis, the underlying problem in @smichaelsen 's behat / php-cs-fixer case is that the required behat version requires symfony/finder ~2.* and the required php-cs-fixer versions require symfony/finder ^3 || ^4, which is incompatible with the other constraint.
Should it not quickly arrive at that conclusion however?
For me, it got stuck at around 1440 rule changes, and then just hung there for several hours until I killed it. Perhaps it ends up in some infinite loop?
I don't know if there is something particular about this case that makes it hard to solve, there are a lot of possible combinations, but I'd say so too. What really does seem like a bug is how long it takes after the last rule change.
Yeah, the large amount of rule changes in itself is a bit peculiar but not necessarily a complication. The fact that it just hangs at some point though, indicates to me that it gets stuck in some kind of state from which it cannot proceed. Either that, or it becomes computationally extremely complex and thus very time consuming, but this seems unlikely.
I'm having the same issue in which composers hangs for no obvious reason. When I asked someone else to run composer update (same project and branch) he very quickly got an error about conflicting packages. It was surprising to me that I did not get this error and already was on attempt 550 while he got the error within seconds. We are running a same setup, same composer version, same PHP version, same OS(X) etc.
After resolving the conflict (which originated in a private package) I was hoping to be able to run the update but was surprised to see that both our composers are now are retrying....
When you look at Solver.php line 770 you will see the conditions in which this loops pops up. In the comments provided from line 627 to 678 there is some interesting information: "if we encounter a problem, we rewind to a safe level and restart with step 1".
It seems to be looping for a very long time unless you remove _composer.lock_. After I removed it I received new errors about conflicting packages.
So, 6 hours later I have my composer update working again.
I can't say for sure how I fixed it but it appears that 2 requirements (1 from the main project and the other one from a private package) conflicted with each other, same package but different version constraint (so it's actually a single requirement but is listed in 2 composer.json files). This did not resulted in an error from composer telling me about this conflict but just an endless loop of retries. The only reason I discovered this issue was because I gave up and reverted the updated version constraint of the package in the main project. I was planning to work on it again in the following week but decided to just try and remove this requirement from my main project since 1 requirement should be enough, and this worked....
I'm having the same issue with phpdocumentor. When I remove it from my composer.json and try to do it this way, I get this:
Shawns-MacBook-Pro-3:phormation shawn$ composer require "phpdocumentor/phpdocumentor:2.*"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- phpdocumentor/phpdocumentor v2.3.1 requires dompdf/dompdf dev-master@dev -> satisfiable by dompdf/dompdf[dev-master] but these conflict with your requirements or minimum-stability.
- phpdocumentor/phpdocumentor v2.3.0 requires dompdf/dompdf dev-master@dev -> satisfiable by dompdf/dompdf[dev-master] but these conflict with your requirements or minimum-stability.
- Conclusion: don't install phpdocumentor/phpdocumentor v2.9.0
- Conclusion: don't install phpdocumentor/phpdocumentor v2.8.5
- Conclusion: don't install phpdocumentor/phpdocumentor v2.8.4
- Conclusion: don't install phpdocumentor/phpdocumentor v2.8.3
- Conclusion: don't install phpdocumentor/phpdocumentor v2.8.2
- Conclusion: don't install phpdocumentor/phpdocumentor v2.8.1
- Conclusion: don't install phpdocumentor/phpdocumentor v2.8.0
- Conclusion: don't install phpdocumentor/phpdocumentor v2.7.1
- Conclusion: don't install phpdocumentor/phpdocumentor v2.7.0
- Conclusion: don't install phpdocumentor/phpdocumentor v2.6.1
- Conclusion: don't install phpdocumentor/phpdocumentor v2.6.0
- Conclusion: don't install phpdocumentor/phpdocumentor v2.5.0
- Conclusion: don't install phpdocumentor/phpdocumentor v2.4.0
- Conclusion: don't install phpdocumentor/phpdocumentor v2.3.2
- Conclusion: don't install phpdocumentor/phpdocumentor v2.2.0
- Conclusion: don't install phpdocumentor/phpdocumentor v2.1.0
- Conclusion: don't install phpdocumentor/phpdocumentor v2.0.1
- Conclusion: remove phpdocumentor/reflection-docblock 4.3.0
- Installation request for phpdocumentor/phpdocumentor 2.* -> satisfiable by phpdocumentor/phpdocumentor[v2.0.0, v2.0.1, v2.1.0, v2.2.0, v2.3.0, v2.3.1, v2.3.2, v2.4.0, v2.5.0, v2.6.0, v2.6.1, v2.7.0, v2.7.1, v2.8.0, v2.8.1, v2.8.2, v2.8.3, v2.8.4, v2.8.5, v2.9.0].
- Conclusion: don't install phpdocumentor/reflection-docblock 4.3.0
- phpdocumentor/phpdocumentor v2.0.0 requires phpdocumentor/reflection-docblock ~2.0@dev -> satisfiable by phpdocumentor/reflection-docblock[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.0, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.1, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.2, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.3, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.4, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.5, 4.3.0].
- Installation request for phpdocumentor/reflection-docblock (locked at 4.3.0) -> satisfiable by phpdocumentor/reflection-docblock[4.3.0].
Installation failed, reverting ./composer.json to its original content.
More fiddling, I'm giving up, I'll run phpdocumentor as a phar or something, this isn't worth it.
Shawns-MacBook-Pro-3:phormation shawn$ !533
composer require "phpdocumentor/phpdocumentor:2.9"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for phpdocumentor/phpdocumentor 2.9 -> satisfiable by phpdocumentor/phpdocumentor[v2.9.0].
- Conclusion: remove phpdocumentor/reflection-docblock 4.3.0
- Conclusion: don't install phpdocumentor/reflection-docblock 4.3.0
- phpdocumentor/phpdocumentor v2.9.0 requires phpdocumentor/reflection-docblock ~2.0 -> satisfiable by phpdocumentor/reflection-docblock[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.0, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.1, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.2, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.3, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.4, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.5, 4.3.0].
- Installation request for phpdocumentor/reflection-docblock (locked at 4.3.0) -> satisfiable by phpdocumentor/reflection-docblock[4.3.0].
Installation failed, reverting ./composer.json to its original content.
Shawns-MacBook-Pro-3:phormation shawn$ composer require "phpdocumentor/reflection-docblock:2.*"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
- Downgrading phpdocumentor/reflection-docblock (4.3.0 => 2.0.5): Downloading (100%)
Writing lock file
Generating autoload files
Shawns-MacBook-Pro-3:phormation shawn$ composer require "phpdocumentor/phpdocumentor:2.9"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- phpdocumentor/phpdocumentor v2.9.0 requires phpdocumentor/fileset ~1.0 -> satisfiable by phpdocumentor/fileset[1.0.0].
- Installation request for phpdocumentor/phpdocumentor 2.9 -> satisfiable by phpdocumentor/phpdocumentor[v2.9.0].
- Conclusion: remove symfony/config v4.2.7
- Conclusion: don't install symfony/config v4.2.7
- phpdocumentor/fileset 1.0.0 requires symfony/finder ~2.1 -> satisfiable by symfony/finder[v2.1.0, v2.1.1, v2.1.10, v2.1.11, v2.1.12, v2.1.13, v2.1.2, v2.1.3, v2.1.4, v2.1.5, v2.1.6, v2.1.7, v2.1.8, v2.1.9, v2.2.0, v2.2.1, v2.2.10, v2.2.11, v2.2.2, v2.2.3, v2.2.4, v2.2.5, v2.2.6, v2.2.7, v2.2.8, v2.2.9, v2.3.0, v2.3.1, v2.3.10, v2.3.11, v2.3.12, v2.3.13, v2.3.14, v2.3.15, v2.3.16, v2.3.17, v2.3.18, v2.3.19, v2.3.2, v2.3.20, v2.3.21, v2.3.22, v2.3.23, v2.3.24, v2.3.25, v2.3.26, v2.3.27, v2.3.28, v2.3.29, v2.3.3, v2.3.30, v2.3.31, v2.3.32, v2.3.33, v2.3.34, v2.3.35, v2.3.36, v2.3.37, v2.3.38, v2.3.39, v2.3.4, v2.3.40, v2.3.41, v2.3.42, v2.3.5, v2.3.6, v2.3.7, v2.3.8, v2.3.9, v2.4.0, v2.4.1, v2.4.10, v2.4.2, v2.4.3, v2.4.4, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9, v2.5.0, v2.5.1, v2.5.10, v2.5.11, v2.5.12, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.10, v2.6.11, v2.6.12, v2.6.13, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9, v2.7.0, v2.7.1, v2.7.10, v2.7.11, v2.7.12, v2.7.13, v2.7.14, v2.7.15, v2.7.16, v2.7.17, v2.7.18, v2.7.19, v2.7.2, v2.7.20, v2.7.21, v2.7.22, v2.7.23, v2.7.24, v2.7.25, v2.7.26, v2.7.27, v2.7.28, v2.7.29, v2.7.3, v2.7.30, v2.7.31, v2.7.32, v2.7.33, v2.7.34, v2.7.35, v2.7.36, v2.7.37, v2.7.38, v2.7.39, v2.7.4, v2.7.40, v2.7.41, v2.7.42, v2.7.43, v2.7.44, v2.7.45, v2.7.46, v2.7.47, v2.7.48, v2.7.49, v2.7.5, v2.7.50, v2.7.51, v2.7.6, v2.7.7, v2.7.8, v2.7.9, v2.8.0, v2.8.1, v2.8.10, v2.8.11, v2.8.12, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19, v2.8.2, v2.8.20, v2.8.21, v2.8.22, v2.8.23, v2.8.24, v2.8.25, v2.8.26, v2.8.27, v2.8.28, v2.8.29, v2.8.3, v2.8.30, v2.8.31, v2.8.32, v2.8.33, v2.8.34, v2.8.35, v2.8.36, v2.8.37, v2.8.38, v2.8.39, v2.8.4, v2.8.40, v2.8.41, v2.8.42, v2.8.43, v2.8.44, v2.8.45, v2.8.46, v2.8.47, v2.8.48, v2.8.49, v2.8.5, v2.8.50, v2.8.6, v2.8.7, v2.8.8, v2.8.9].
- symfony/finder v2.7.0 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.1 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.10 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.11 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.12 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.13 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.14 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.15 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.16 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.17 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.18 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.19 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.2 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.20 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.21 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.22 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.23 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.24 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.25 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.26 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.27 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.28 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.29 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.3 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.30 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.31 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.32 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.33 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.34 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.35 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.36 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.37 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.38 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.39 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.4 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.40 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.41 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.42 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.43 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.44 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.45 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.46 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.47 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.48 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.49 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.5 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.50 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.51 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.6 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.7 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.8 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.7.9 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.0 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.1 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.10 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.11 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.12 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.13 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.14 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.15 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.16 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.17 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.18 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.19 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.2 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.20 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.21 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.22 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.23 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.24 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.25 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.26 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.27 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.28 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.29 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.3 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.30 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.31 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.32 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.33 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.34 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.35 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.36 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.37 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.38 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.39 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.4 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.40 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.41 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.42 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.43 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.44 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.45 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.46 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.47 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.48 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.49 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.5 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.50 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.6 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.7 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.8 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.8.9 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.0 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.1 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.10 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.11 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.2 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.3 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.4 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.5 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.6 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.7 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.8 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.2.9 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.0 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.1 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.10 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.11 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.12 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.13 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.14 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.15 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.16 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.17 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.18 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.19 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.2 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.20 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.21 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.22 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.23 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.24 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.25 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.26 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.27 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.28 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.29 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.3 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.30 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.31 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.32 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.33 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.34 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.35 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.36 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.37 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.38 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.39 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.4 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.40 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.41 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.42 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.5 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.6 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.7 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.8 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.3.9 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.0 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.1 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.10 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.2 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.3 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.4 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.5 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.6 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.7 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.8 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.4.9 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.0 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.1 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.10 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.11 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.12 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.2 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.3 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.4 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.5 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.6 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.7 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.8 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.5.9 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.0 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.1 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.10 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.11 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.12 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.13 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.2 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.3 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.4 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.5 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.6 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.7 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.8 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.6.9 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.0 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.1 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.10 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.11 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.12 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.13 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.2 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.3 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.4 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.5 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.6 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.7 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.8 conflicts with symfony/config[v4.2.7].
- symfony/finder v2.1.9 conflicts with symfony/config[v4.2.7].
- Installation request for symfony/config (locked at v4.2.7) -> satisfiable by symfony/config[v4.2.7].
Installation failed, reverting ./composer.json to its original content.
@tolidano Not sure how your issue is related to the bug here. But you seem to simply be looking for the "--update-with-dependencies" option on composer require. Since you have all kinds of deps locked to versions not compatible with what you're trying to require.
Heh, well, before the above, I had the exact same issue as this: https://github.com/composer/composer/issues/7665#issuecomment-429608742 which is the 5th or 6th reply here. Mine got stuck on pass #17 and never moved.
As for your suggestion, that doesn't appear to change anything:
Shawns-MacBook-Pro-3:phormation shawn$ composer require "phpdocumentor/phpdocumentor:2.9" --update-with-dependencies
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for phpdocumentor/phpdocumentor 2.9 -> satisfiable by phpdocumentor/phpdocumentor[v2.9.0].
- Conclusion: remove phpdocumentor/reflection-docblock 4.3.0
- Conclusion: don't install phpdocumentor/reflection-docblock 4.3.0
- phpdocumentor/phpdocumentor v2.9.0 requires phpdocumentor/reflection-docblock ~2.0 -> satisfiable by phpdocumentor/reflection-docblock[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.0, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.1, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.2, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.3, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.4, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.5, 4.3.0].
- Installation request for phpdocumentor/reflection-docblock (locked at 4.3.0) -> satisfiable by phpdocumentor/reflection-docblock[4.3.0].
Installation failed, reverting ./composer.json to its original content.
My composer.json, can reproduce consistently if you try to run the commands in this comment or explicitly, manually add phpdocumentor 2.* or 2.9, and run composer update -vvv:
"require-dev": {
"phing/phing": "2.16.*",
"phpunit/phpunit": "8.*",
"codeception/codeception": "3.*",
"phpmd/phpmd" : "2.6.*",
"pdepend/pdepend" : "2.5.*",
"squizlabs/php_codesniffer": "3.*",
"sebastian/phpcpd": "4.*",
"phploc/phploc": "5.*"
},
"require": {
"php": "7.3.*",
"guzzlehttp/guzzle": "6.*",
"aws/aws-sdk-php": "3.92.*",
"defuse/php-encryption": "2.2.*"
},
Just to cover all the bases:
composer require "phpdocumentor/phpdocumentor:2.9" --update-with-dependencies --update-with-all-dependencies
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for phpdocumentor/phpdocumentor 2.9 -> satisfiable by phpdocumentor/phpdocumentor[v2.9.0].
- Conclusion: remove phpdocumentor/reflection-docblock 4.3.0
- Conclusion: don't install phpdocumentor/reflection-docblock 4.3.0
- phpdocumentor/phpdocumentor v2.9.0 requires phpdocumentor/reflection-docblock ~2.0 -> satisfiable by phpdocumentor/reflection-docblock[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.0, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.1, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.2, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.3, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.4, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.5, 4.3.0].
- Installation request for phpdocumentor/reflection-docblock (locked at 4.3.0) -> satisfiable by phpdocumentor/reflection-docblock[4.3.0].
Installation failed, reverting ./composer.json to its original content.
And:
composer --update-with-dependencies --update-with-all-dependencies require "phpdocumentor/phpdocumentor:2.9"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for phpdocumentor/phpdocumentor 2.9 -> satisfiable by phpdocumentor/phpdocumentor[v2.9.0].
- Conclusion: remove phpdocumentor/reflection-docblock 4.3.0
- Conclusion: don't install phpdocumentor/reflection-docblock 4.3.0
- phpdocumentor/phpdocumentor v2.9.0 requires phpdocumentor/reflection-docblock ~2.0 -> satisfiable by phpdocumentor/reflection-docblock[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.0, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.1, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.2, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.3, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.4, 4.3.0].
- Can only install one of: phpdocumentor/reflection-docblock[2.0.5, 4.3.0].
- Installation request for phpdocumentor/reflection-docblock (locked at 4.3.0) -> satisfiable by phpdocumentor/reflection-docblock[4.3.0].
Installation failed, reverting ./composer.json to its original content.
And since my guy Nils appreciates me and refuses to acknowledge that I am facing the same bug and I'm posting things I've tried to resolve the issue, here's how I got into the mess in the first place:
composer -vvv update
Reading ./composer.json
Loading config file ./composer.json
Checked CA file /private/etc/ssl/cert.pem: valid
Executing command (/Users/shawn/Projects/phasiac): git branch --no-color --no-abbrev -v
Failed to initialize global composer: Composer could not find the config file: /Users/shawn/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Reading /Users/shawn/Projects/phasiac/vendor/composer/installed.json
Running 1.8.5 (2019-04-09 17:46:47) with PHP 7.3.4 on Darwin / 18.5.0
Loading composer repositories with package information
Downloading https://repo.packagist.org/packages.json
Writing /Users/shawn/.composer/cache/repo/https---repo.packagist.org/packages.json into cache
Updating dependencies (including require-dev)
Reading /Users/shawn/.composer/cache/repo/https---repo.packagist.org/p-provider-2013.json from cache
Downloading http://repo.packagist.org/p/provider-2019-01%2423a9f1cc8833ff34be5f25244c8f4f6851f871280babf2c66b25deb95c35ded3.json
Writing /Users/shawn/.composer/cache/repo/https---repo.packagist.org/p-provider-2019-01.json into cache
Downloading http://repo.packagist.org/p/provider-2019-04%24c9e68fd362b8e7229566dca82d83a9230df5edc0804185e7562adc1c412a6fbd.json
<snipped a bunch here, but happens if I delete .composer and run fresh too, just more downloading and less reading from cache>
Reading /Users/shawn/.composer/cache/repo/https---repo.packagist.org/provider-hoa$string.json from cache
Resolving dependencies through SAT
Looking at all rules.
Something's changed, looking at all rules again (pass #13)^C
In order to get reproducible cases, what do we need to have? The composer.json file only, also the .lock, or is the list of currently installed packages also relevant?
@mpdude https://github.com/composer/composer/issues/7665#issuecomment-481882394
@cbj4074 He means @tolidano where it says "phpdocumentor/reflection-docblock" is locked at 4.3.0 even when he says "update-with-dependencies".
@tolidano can you make a new issue for that please, paste the output again that you pasted here and post your composer.json? Most likely the problem is just that options have to be specified before arguments and you're calling the command wrong. I'd appreciate if you stop posting replies to this particular bug here which is unrelated to the problem you are currently dealing with, thank you.
@naderman could also be he has phpdocumentor/reflection-docblock as a direct requirement, in which case he needs to pass --update-with-all-dependencies, not --update-with-dependencies.
Related to #7051
I was only able to resolve this myself by clearing composer cache (composer clear-cache) and then restarting my computer. Even then, it went through over 100 passes of "Something's changed, looking at all rules again" before it finally went through.
I solved the simular problem with :
$ rm composer.lock
$ composer -vvv update --with-all-dependencies
While stuck at "Something's changed, looking at all rules (pass 1M)", I deleted composer.lock file. Then the update proceeded.
I'm running into the same issue but I couldn't reproduce it yet in a fresh repo with only the dev dependencies. I guess it has something to do with one of your deps requiring guzzle/guzzle which requires the event dispatchers old version. Thats why we have the event-dispatcher alias there.
"require-dev": {
"cakephp/debug_kit": "^3.19",
"dereuromark/cakephp-ide-helper": "^0.9.8",
"fig-r/psr2r-sniffer": "dev-master",
"phpro/grumphp": "^0.15.0",
"scrutinizer/ocular": "^1.3",
"symfony/event-dispatcher": "3.4.0 as 2.8.47"
},
This was running for 6 hours in the background without finishing until I terminated it:
Ī» composer remove --dev symfony/event-dispatcher
Loading composer repositories with package information
Updating dependencies (including require-dev)
^CTerminate batch job (Y/N)? ^Cy
Using -vvv I see this output and the pass keeps counting up forever.
Resolving dependencies through SAT
Looking at all rules.
Something's changed, looking at all rules again (pass #112)
Composer removes it from the composer.json file but then seems to run into a loop or whatever and never updates the lock file and effectively removing it.
I finally fixed it by doing a lot "composer who" and trial and error until I ended up removing all packages using this dependency, finally being able to remove this line "symfony/event-dispatcher": "3.4.0 as 2.8.47" and adding the dependencies back.
If there is no way to resolve this situation, then composer should break at least after X iterations and throw a meaningful exception. Like "Sorry, can't resolve the dependency graph properly" or something similar.
This is some pathological failure in resolution. I've managed to move the problem around so it loops forever at a different pass (37 or 177) but I accidentally left a machine running on it for a few hours and still got nothing. Maybe just quit when an iteration counter gets to 2**32?
In this case it's some issue with orchestra/testbench and Laravel 6 and I'm going to shift testing strategy rather than try to work it out manually.
I got same problem and it eventually turns out to be AWS EC2 t2/t3 CPU credit problem. Magento got really heavy cpu calculation during update, which quickly used up all CPU credit, and made server slow like hell.
The update finished in my own Ryzen 3950x desktop within 5 mins.
We have the same issue with some packages
It takes even with quadcore >> xxxx lookups and still no resolution
composer update --prefer-lowest --prefer-stable --prefer-dist --no-interaction --no-dev --profile -vvv
and
[1869.8MiB/694.45s] Something's changed, looking at all rules again (pass #505)
...
[1942.5MiB/1552.60s] Something's changed, looking at all rules again (pass #1057)
...
even after hours still runs.
In one of these cases, I let it run on a server inside screen for a while:
Something's changed, looking at all rules again (pass #193)
Dependency resolution completed in 344463.834 seconds
Your requirements could not be resolved to an installable set of packages.
That's a long time: Pass #193 needed about 95 hours or four days to complete! I guess some composer internals might be not properly optimizedā¦
I've made a somewhat smaller reproduce case without network reliance and posted it in a gist here: https://gist.github.com/naderman/1399cdee05d6d0027890bd0b3e3c0e7f - this was created with the help of the experimental generate test debug command which I made a PR for here: #8100
For reference, same problem exists on the 2.0 branch still.
Actually if I wait a while on 2.0 I eventually get this which may help debugging:
Something's changed, looking at all rules again (pass #1683)
[Composer\DependencyResolver\SolverBugException]
Reached invalid decision id 0 while looking through (-66) for a literal present in the analyzed rule (-51|182|183|184|185|186|187|188|189|190|191|192|193|194|195|196|197|198|199|200|201|202|203|204|205|206|
207|208|209|210|211|212|213|214|215|216|217|218|219|220|221|222|223|224|225|226|227|228|229|230|231|232|233|234|235|236|237|238|239|240|241|242|243|244|245|246|247|248|249|250|251|252|253|254|255|256|257|25
8|259|260|261|262|263|264|265|266|267|268|269|270|271|272|273|274|275|276|277|278|279|280|281|282|283|284|285|286|287|288|289|290|291|292|293|294|295).
This exception was most likely caused by a bug in Composer.
Please report the command you ran, the exact error you received, and your composer.json on https://github.com/composer/composer/issues - thank you!
I have changed "pdepend/pdepend" version from 2.2.2 to 2.4.0
"require-dev": {
"lusitanian/oauth": "~0.3 <=0.7.0",
"pdepend/pdepend": "2.2.2",
"phpmd/phpmd": "@stable",
"sebastian/phpcpd": "~3.0.0",
"squizlabs/php_codesniffer": "1.5.3"
}
to
"require-dev": {
"lusitanian/oauth": "~0.3 <=0.7.0",
"pdepend/pdepend": "2.4.0",
"phpmd/phpmd": "@stable",
"sebastian/phpcpd": "~3.0.0",
"squizlabs/php_codesniffer": "1.5.3"
}
It works for me
I ran into this and wanted to leave a comment that may help debug and for others discovering this thread. My case was the same as https://github.com/nunomaduro/collision/issues/83 and https://github.com/nunomaduro/collision/issues/70 in that I had packages dependencies with conflicting symfony/console versions. I left xdebug/xdebug enabled even though other threads suggest it might be the culprit. I didn't wait it out 95hrs. I resolved the conflict by updating a package at a time in order to identify the conflicting package. Here's the output once I narrowed it down to the offending package.
david@macs:~/sites/wha(masterā”) Ā» composer update --prefer-dist -vvv --profile
[416.9MiB/7.77s] Reading /.composer/cache/repo/https---repo.packagist.org/provider-nunomaduro$collision.json from cache
[757.2MiB/11.07s] Resolving dependencies through SAT
[757.8MiB/11.08s] Looking at all rules.
[758.0MiB/11.31s] [758.2MiB/11.55s] Something's changed. [...etc] [759.5MiB/32.38s]Something's changed, looking at all rules again (pass #81)[759.8MiB/32.61s]
[759.8MiB/32.61s] Dependency resolution completed in 21.544 seconds
[759.8MiB/32.61s] Your requirements could not be resolved to an installable set of packages.
[759.8MiB/32.61s]
Problem 1
- Conclusion: remove symfony/console v4.4.4
- Conclusion: don't install symfony/console v4.4.4
[...etc]
- Conclusion: remove laravel/framework v6.16.0
[...etc]
- Conclusion: don't install symfony/console v4.3.8
- Installation request for laravel/framework ^6.2 -> satisfiable by laravel/framework[6.x-dev, v6.10.0, v6.10.1, v6.11.0, v6.12.0, v6.13.0, v6.13.1, v6.14.0, v6.15.0, v6.15.1, v6.16.0, v6.2.0, v6.3.0, v6.4.0, v6.4.1, v6.5.0, v6.5.1, v6.5.2, v6.6.0, v6.6.1, v6.6.2, v6.7.0, v6.8.0, v6.9.0].
- Conclusion: don't install symfony/console v4.3.5|install symfony/console v5.0.4
[...etc]
- Installation request for nunomaduro/collision ^4.1.0 -> satisfiable by nunomaduro/collision[v4.1.0].
- Conclusion: don't install symfony/console v4.3.6|install symfony/console v5.0.4
- nunomaduro/collision v4.1.0 requires symfony/console ^5.0 -> satisfiable by symfony/console[5.0.x-dev, 5.1.x-dev, v5.0.0, v5.0.0-BETA1, v5.0.0-BETA2, v5.0.0-RC1, v5.0.1, v5.0.2, v5.0.3, v5.0.4].
- Can only install one of: symfony/console[v5.0.3, 4.3.x-dev].
[...etc]
- laravel/framework 6.x-dev requires symfony/console ^4.3.4 -> satisfiable by symfony/console[v4.4.4, 4.3.x-dev, 4.4.x-dev, v4.3.10, v4.3.11, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.0-BETA1, v4.4.0-BETA2, v4.4.0-RC1, v4.4.1, v4.4.2, v4.4.3].
- Conclusion: don't install symfony/console v4.3.7|install symfony/console v5.0.4
[426.3MiB/32.78s] Memory usage: 426.28MiB (peak: 760.45MiB), time: 32.78s
david@macs:~/sites/wha(masterā”)
I have the exact same scenario as @windhamdavid , with the same package: https://github.com/nunomaduro/collision
I'm trying to upgrade from Laravel 6.x to 7.x and this issue is making it impossible to do so.
I resolved the conflict by updating a package at a time in order to identify the conflicting package
What was the exact Composer command you ran when you identified the conflicting package? The one you show, composer update --prefer-dist -vvv --profile, doesn't explain how you identified the conflict.
Also, you don't show which packages you added or removed, if any, before running composer update with a successful result.
In my case, I ran composer update ..., took the first package that failed due to being locked at a different version, and appended it to the command, ad nauseam, until I got the dreaded
Resolving dependencies through SAT
Looking at all rules.
Something's changed, looking at all rules again ...
(What has changed, exactly? The weather? This message could probably be improved...)
The only reason I knew it was nunomaduro/collision is because that's the last package I appended to the command before I got the above message.
@windhamdavid Ultimately, it would be extremely helpful if you could answer the following:
composer update ... with the result that you show in https://github.com/composer/composer/issues/7665#issuecomment-590474507 ?composer update ... with a successful result, i.e., how did you actually fix the problem?I have the exact same scenario as @windhamdavid , with the same package: https://github.com/nunomaduro/collision
I'm trying to upgrade from Laravel 6.x to 7.x and this issue is making it impossible to do so.
I resolved the conflict by updating a package at a time in order to identify the conflicting package
What was the exact Composer command you ran when you identified the conflicting package? The one you show,
composer update --prefer-dist -vvv --profile, doesn't explain how you identified the conflict.Also, you don't show which packages you added or removed, if any, before running
composer updatewith a successful result.In my case, I ran
composer update ..., took the first package that failed due to being locked at a different version, and appended it to the command, ad nauseam, until I got the dreadedResolving dependencies through SAT Looking at all rules. Something's changed, looking at all rules again ...(What has changed, exactly? The weather? This message could probably be improved...)
The only reason I knew it was
nunomaduro/collisionis because that's the last package I appended to the command before I got the above message.@windhamdavid Ultimately, it would be extremely helpful if you could answer the following:
- What changes did you make prior to running
composer update ...with the result that you show in #7665 (comment) ?- After receiving that output, what further changes did you make prior to running
composer update ...with a successful result, i.e., how did you actually _fix_ the problem?
you found any solution?
@ahsanmster Yes, I managed to work around the problem by identifying the offending package and fixing the conflict. My apologies for not posting an update before now.
In my case, the problematic package was not nunomaduro/collision _per se_, but rather, another third-party package whose version of symfony/console conflicted with it, exactly as @windhamdavid describes in https://github.com/composer/composer/issues/7665#issuecomment-590474507 :
My case was the same as nunomaduro/collision#83 and nunomaduro/collision#70 in that I had packages dependencies with conflicting symfony/console versions.
The specific method that I used to identify the problematic package was as I described in the comment you quoted (although, I could have been clearer and provided an example). Essentially, the process is as follows:
composer update laravel/framework (or whichever package you're trying to update), and it should fail due to a package being locked at a different version. (Let us know if you get the Something's changed message already, at this point!)acme/foo package, the next command to run would be composer update laravel/framework acme/foo.acme/bar package, then run composer update laravel/framework acme/foo acme/bar and repeat the process until you get the dreaded Something's changed message. Don't forget that you can use wildcards in package names, too, e.g., symfony/*, which can save you a lot of time if you're dealing with many packages from the same vendor. The last package you add to the command prior to getting Something's changed should provide a clue as to the offending package that requires the conflicting version of symfony/console (or whatever it happens to be).composer.json so that the offending package, such as symfony/console, doesn't conflict with nunomaduro/collision, for example. If the package is not your own, then I suppose you have no choice but to fork it and fix it in your fork (until it's fixed upstream), or perhaps add something clever in your project's top-level composer.json to alias the package version or similar to solve the conflict.Hope that helps!
Same error here:
Something's changed, looking at all rules again (pass #88) loads forever
I read through the whole issue - is there no way to see what rule 88 actually is?
I had this same issue in a package requiring illuminate/database:^6.0 plus another upstream package. I had to manually inspect all the deps to find the issue: Another package required carbon/carbon:^1.0 but illuminate/database requires carbon/carbon:^2.0.
Not sure why this made Composer fall over, it wasn't a spectacularly complicated dependency graph š¤·āāļø.
Resolving dependencies through SAT
Looking at all rules.
Something's changed, looking at all rules again (pass #131)
Dependency resolution completed in 2474.477 seconds
It took a while on my setup too... 41 minutes
I had a problem like this. I removed symfony/event-dispatcher, symfony/console and phpunit/phpunit
i run this command composer update --prefer-lowest --prefer-stable --prefer-dist --no-interaction --no-dev --profile -vvv after except removed packages. composer ended work in a short time.
i add excepted packages in my compsor json and last time run this command composer install -vvv with composer.lock file. Problem is solved on my computer. i will test my application on preprod server.
I'm currently at Something's changed, looking at all rules again (pass #4139) and it runs for 20 hours now.
It already took hours to actually reach #4139.
This seems to be the beginning:
https://github.com/composer/composer/blob/master/src/Composer/DependencyResolver/Solver.php#L733
Maybe someone who reaches "the problem" earlier is able to debug the code?
Try this solution
Delete vendor folder.
composer install
composer dump-autoload
composer update
"composer install" does not end, so the "composer dump-autoload && composer update" will not work.
I'm trying to install version 1.10.1 of the same project composer, it works. I got this problem in [email protected] and higher versions.
If anyone still has reproduce cases on Composer2, please test with this change applied: https://github.com/composer/composer/pull/9312 It should fix the problem.
Going to close this as #9312 is merged and this contains so many repro cases that it's turned into quite a mess. If anyone still experiences the problem with the latest snapshot (composer self-update --snapshot) please open a new issue.
Most helpful comment
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~6.0",
"phpspec/phpspec": "~2.1",
"doctrine/dbal": "^2.5",
"filp/whoops": "~2.0"
After removing the phpspec/phpspec composer update works fine.