Sur ma machine locale, j'ai php v7.0.3. Un de mes projets dépend de PHP v5.5.
Donc, comme prévu, une simple exécution de composer install
plante:
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.
Je sais que je peux ignorer la plateforme via:
composer install --ignore-platform-reqs
pourtant j'oublie souvent d'ajouter le drapeau. Pourtant, puisque l'application s'exécute à l'intérieur d'un conteneur Docker, un php non compatible peut installer les dépendances tout aussi bien.
Je me demande donc s'il existe un moyen de faire en sorte que mon local composer suppose toujours --ignore-platform-reqs
pour ne pas avoir à le taper.
J'aime éviter de définir un alias et le faire fonctionner au niveau de la configuration composer.
Il est recommandé de fausse version php , plutôt que d'ignorer les exigences de la plate-forme. Ajouter
"platform":{"php":"5.5"}
à ton ~/.composer/config.json
Ou utiliser composer config -g -e
pour le modifier.
Un exemple de configuration suffisante pour une fausse version php:
{
"config": {
"platform":{
"php":"5.5"
}
}
}
Il peut cependant avoir beaucoup plus d'options.
Vous pouvez ajouter alias composer="composer --ignore-platform-reqs"
à ton .bash_profile
mais cela cassera les commandes qui ne reconnaissent pas cette option (par exemple. composer outdated
).
Personnellement, j'ai:
alias composer="composer --ignore-platform-reqs"
alias composer_orig="/usr/local/bin/composer"
Parce que la plupart du temps je veux --ignore-platform-reqs
, mais je peux toujours utiliser composer_orig
chaque fois que je vois
[Symfony\Component\Console\Exception\RuntimeException]
L'option "--ignore-platform-reqs" n'existe pas.