--TEST-- Update package which is in lower prio repo but not main repo due to min-stability should show this error correctly --COMPOSER-- { "minimum-stability": "stable", "repositories": [ {"type": "package", "package": [ {"name": "main/dep", "version": "1.0.0", "require": {"lower/dep": "^2.1"}}, {"name": "lower/dep", "version": "2.x-dev"}, {"name": "lower/dep", "version": "2.0.5"} ]}, {"type": "package", "package": [ {"name": "lower/dep", "version": "2.1.0"} ]} ], "require": { "main/dep": "*" } } --LOCK-- { "packages": [ { "name": "main/dep", "version": "1.0.0", "require": {"lower/dep": "^2.1"}, "type": "library" }, { "name": "lower/dep", "version": "2.1.0", "type": "library" } ], "packages-dev": [], "aliases": [], "minimum-stability": "stable", "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": {}, "platform-dev": {} } --RUN-- update main/dep --with-all-dependencies --EXPECT-EXIT-CODE-- 2 --EXPECT-OUTPUT-- Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - Root composer.json requires main/dep * -> satisfiable by main/dep[1.0.0]. - main/dep 1.0.0 requires lower/dep ^2.1 -> satisfiable by lower/dep[2.1.0] from package repo (defining 1 package) but lower/dep[2.x-dev] from package repo (defining 3 packages) has higher repository priority. The packages from the higher priority repository do not match your minimum-stability and are therefore not installable. That repository is canonical so the lower priority repo's packages are not installable. See https://getcomposer.org/repoprio for details and assistance. --EXPECT--