Le compositeur a la possibilité de charger plusieurs dépendances seulement dans le développement, de sorte que les outils ne seront pas installés dans la production (sur le serveur). C'est (en théorie) est très pratique pour les scripts qui n'ont de sens que dans le développement, comme les tests, les faux-données-outils, débogueur, etc.
Le chemin à faire est d'ajouter un require-dev
bloc avec les outils dont vous avez besoin en dev:
"require-dev": {
"codeception/codeception": "1.6.0.3"
}
et puis (théoriquement) charge de ces dépendances via
composer install --dev
Problème Et Question:
Le compositeur a changé le comportement de l' install
et update
de façon spectaculaire en 2013, require-dev
-les dépendances sont maintenant installés par défaut (!), n'hésitez pas à créer un compositeur.json avec un require-dev
block et d'effectuer un composer install
à reproduire.
Comme la plus acceptée de façon à déployer, c'est pousser le compositeur.de verrouillage (qui détient votre compositeur de l'installation) et ensuite faire un composer install
sur le serveur de production, cela installera aussi le développement des trucs.
Quelle est la bonne façon de déployer ce sans l'installation de l'-dev dépendances ?
Note: je suis en train de créer une situation canonique de Q/r ici de préciser l'étrange Compositeur de déploiement. N'hésitez pas à modifier cette question.