On my local machine, I have php v7.0.3. A project of mine has a dependency on php v5.5.
So as expected, a simple run of composer install
crashes:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- This package requires php ~5.5 but your PHP version (7.0.3) does not satisfy that requirement.
I know I can ignore the platform via:
composer install --ignore-platform-reqs
yet I often forget to add the flag. Yet since the application runs inside a docker container, a mismatching php can install the dependencies just as fine.
So I am wondering if there is a way to make my local composer always assume --ignore-platform-reqs
in order to not having to type it.
I like to avoid setting an alias and have it work on composer config level.
It's recommended to fake the PHP version, rather than to ignore platform requirements. Add:
"platform":{"php":"5.5"}
to your ~/.composer/config.json
or use composer config -g -e
to edit it.
An example of a config to fake the PHP version and an extension:
{
"config": {
"platform":{
"php": "8.1",
"ext-bcmath": "8.1"
}
}
}
More options about the config's platform section can be found in the Composer docs.
UPDATE: starting from v2.3.0 you can use environment variables. Please see Yakatz' answer