--TEST-- Root alias changing after the lock file was created and invalidating it should show a decent error message This also checks that an implicit stabilityFlag is added for the root package, if it is a dev version --COMPOSER-- { "name": "root/pkg", "repositories": [ { "type": "package", "package": [ { "name": "b/requirer", "version": "1.0.0", "require": { "root/pkg": "^1" } } ] } ], "require": { "b/requirer": "*" }, "version": "2.x-dev" } --INSTALLED-- [ { "name": "b/requirer", "version": "1.0.0", "require": { "root/pkg": "^1" } } ] --LOCK-- { "packages": [ { "name": "b/requirer", "version": "1.0.0", "require": { "root/pkg": "^1" }, "type": "library" } ], "packages-dev": [], "aliases": [], "minimum-stability": "stable", "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": {}, "platform-dev": {} } --RUN-- install --EXPECT-EXIT-CODE-- 2 --EXPECT-OUTPUT-- Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Your lock file does not contain a compatible set of packages. Please run composer update. Problem 1 - b/requirer is locked to version 1.0.0 and an update of this package was not requested. - b/requirer 1.0.0 requires root/pkg ^1 -> found root/pkg[2.x-dev] but it does not match the constraint. See https://getcomposer.org/dep-on-root for details and assistance. --EXPECT--