1 votes

Erreurs lors de l'installation de Composer sur macOS (la compilation JIT a échoué)

Lorsque j'exécute composer --version dans le terminal macOS, je reçois les erreurs suivantes.

Avertissement PHP: preg_match(): la compilation JIT a échoué: plus de mémoire phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php à la ligne 755

Avertissement: preg_match(): la compilation JIT a échoué: plus de mémoire dans phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php

à la ligne 755 Avertissement PHP: preg_match(): la compilation JIT a échoué: plus de mémoire phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php à la ligne 759

Avertissement: preg_match(): la compilation JIT a échoué: plus de mémoire dans phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php

à la ligne 759 Avertissement PHP: preg_split(): la compilation JIT a échoué: plus de mémoire phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php à la ligne 654

Avertissement: preg_split(): la compilation JIT a échoué: plus de mémoire dans phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php

à la ligne 654 Avertissement PHP: preg_split(): la compilation JIT a échoué: plus de mémoire phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php à la ligne 1091

Avertissement: preg_split(): la compilation JIT a échoué: plus de mémoire dans phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php

à la ligne 1091 Avertissement PHP: preg_replace(): la compilation JIT a échoué: plus de mémoire phar:///usr/local/bin/composer.phar/vendor/symfony/console/Formatter/OutputFormatter.php à la ligne 36

Avertissement: preg_replace(): la compilation JIT a échoué: plus de mémoire dans phar:///usr/local/bin/composer.phar/vendor/symfony/console/Formatter/OutputFormatter.php

à la ligne 36

  [ErrorException]                                          
  preg_match_all(): la compilation JIT a échoué: plus de mémoire

145voto

Karl Hill Points 1656

Ceci est un bug connu de PHP 7.3, qui a déjà été corrigé.

En tant que solution temporaire, modifiez votre fichier php.ini (dans mon cas : vi /usr/local/etc/php/7.3/php.ini), désactivez la compilation JIT PHP PCRE en changeant :

;pcre.jit=1

à

pcre.jit=0

35voto

fab120 Points 459

J'ai résolu cela en désactivant la compilation jit PCRE.

Je suppose que vous avez installé php 7.3 via homebrew.

Si c'est le cas, créez un zzz-myphp.ini dans /usr/local/etc/php/7.3/conf.d avec le contenu suivant:

; Mes paramètres php.ini
; Correction de l'erreur "Échec de la compilation JIT" de PCRE
[Pcre]
pcre.jit=0

13voto

bishop Points 3309

D'autres réponses suggèrent de désactiver PCRE JIT via un fichier de configuration. Cela fonctionne, mais attention : cela désactive PCRE JIT pour toutes les invocations du moteur qui utilisent ces fichiers INI. Vous ne bénéficierez donc pas de l'amélioration JIT pour une gamme potentiellement plus large de fonctionnalités, ce qui peut ne pas être souhaitable.

Vous pouvez désactiver JIT pour composer uniquement via :

php -d pcre.jit=0 composer.phar ...

3voto

Ashish Sharma Points 263

En PHP 7.1.24, il n'y a pas de 'pcre.jit' dans le fichier php.ini, donc vous devez définir memory_limit:128M (si vous l'augmentez).

2voto

Il fonctionne pour moi en suivant les étapes :

  1. Ouvrez votre Terminal et exécutez php --ini
  2. Ouvrez le fichier php.ini dans le chemin "Fichier de configuration chargé : /usr/local/php5/lib/php.ini" https://prnt.sc/p9tspy
  3. Recherchez pcre.jit et changez ;pcre.jit=1 en pcre.jit=0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X