--TEST-- Provide only applies when no existing package has the given name --COMPOSER-- { "repositories": [ { "type": "package", "package": [ { "name": "higher-prio-hijacker", "version": "1.1.0", "provide": { "package": "1.0.0" } }, { "name": "provider2", "version": "1.1.0", "provide": { "package2": "1.0.0" } } ] }, { "type": "package", "package": [ { "name": "package", "version": "0.9.0" }, { "name": "package", "version": "1.0.0" }, { "name": "hijacker", "version": "1.1.0", "provide": { "package": "1.0.0" } }, { "name": "provider3", "version": "1.1.0", "provide": { "package3": "1.0.0" } } ] } ], "require": { "package": "1.*", "package2": "1.*", "provider3": "1.1.0" } } --RUN-- install --EXPECT-- Installing package (1.0.0) Installing provider2 (1.1.0) Installing provider3 (1.1.0)