- 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-reqs
won't work, as that will cause the installation ofvendor/extension
2.0 even thoughext-other
is missing - Using
config.platform
with PHP locked to 7.4 won't work, as that would installvendor/restrictive
1.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.