- composer.json: our project
- ext-v*.json: composer.json for MongoDB ODM in version 1 and 2
- restrictive-v*.json: composer.json for package restrictive about its php constraint
Assume we're running on PHP 8 and have ext-something installed. This presents a set of uninstallable depdendencies;
- Using
--ignore-platform-reqswon't work, as that will cause the installation ofvendor/extension2.0 even thoughext-otheris missing - Using
config.platformwith PHP locked to 7.4 won't work, as that would installvendor/restrictive1.0 which is not compatible with PHP 8 even though there's a newer release that is compatible
The only way to test this is by changing our own constraint to ^7.2 || ^8.0. However, if vendor/extension were to also advertise a PHP constraint of ^7.2, we would never end up with a properly testable system.