MacOS et patches Composer
Après l'achat d'un ordinateur Mac en 2025, les projets qui utilisent Composer et cweagans/composer-patches ne fonctionnent plus correctement. Les patches, qui fonctionnent sur d'autres environnements, ne s'appliquent plus.
Qu'est-ce que composer-patches
Il s'agit d'un composant optionnel de Composer qui permet l'application automatisée et normalisée de patches aux projets. Il est très largement utilisé avec les projets Drupal 10/11 un peu plus avancés.
Quel est le problème ?
MacOS est livré avec une version propriétaire de patch (Apple flavored). Cette version est utilisée par défaut dans le terminal et les autres utilitaires (comme Composer), et elle n'est pas compatible avec cweagans/composer-patches.
which patch
> /usr/bin/patch
patch -v
> patch 2.0-12u11-Apple
Comment régler le problème?
Pour résoudre le problème, il faut installer gpatch, la version la plus répandue de l'utilitaire patch. Le g de gpatch fait référence à GNU (une collection de logiciel libre largement utilisé sur Linux).
Installer gpatch
Pour installer cette version compatible avec Composer, le plus simple est d'utiliser Homebrew. Il suffit de suivre les instructions officielles.
- Installer Homebrew : https://brew.sh/
- Installer
gpatch: https://formulae.brew.sh/formula/gpatch
Charger gpatch automatiquement plutôt que la version MacOS
Dans le fichier .zprofile, il faut s'assurer que Homebrew est chargé correctement :
# Set PATH, MANPATH, etc., for Homebrew.
eval "$(/opt/homebrew/bin/brew shellenv)"