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

0voto

sheraz m Points 666

Merci pour les réponses.. J'ai résolu le problème en utilisant la commande composer.phar puis en exportant le chemin. Exemple :

$composer.phar
$export PATH=/usr/local/php5/bin:$PATH
$composer.phar --version

-1voto

Kristin Green Points 19

J'ai eu la même erreur. J'ai installé MAMP 5.4 sur mon Mac OS 10.11.6 en utilisant PHP 7.3.7 et j'ai installé Composer. Il semblait fonctionner mais dès que j'ai essayé d'installer Yii2 ou même de vérifier la version, il m'a donné l'erreur...

$composer.phar --version
Fatal error: Uncaught ErrorException: preg_match_all(): JIT compilation failed: no more memory in phar:///Users/kristin/Sites/htdocs/composer.phar/vendor/symfony/console/Formatter/OutputFormatter.php:137

Augmenter la mémoire_limit dans php.ini de 128M à quelque chose d'autre n'a PAS résolu le problème et pcre.jit=1 était mis en commentaire donc le désactiver n'a rien fait non plus.

Voici ce qui a fonctionné:

J'ai simplement changé le chemin d'exportation vers le répertoire de la version précédente (sans rétrograder réellement dans les préférences de MAMP) et ça a marché!

$export PATH=/Applications/MAMP/bin/php/php7.2.20/bin:$PATH
$composer.phar --version
Composer version 1.9.0 2019-08-02 20:55:32

Si quelqu'un peut expliquer pourquoi cela a fonctionné, j'apprécierais de le savoir. Merci.

-1voto

ijf8090 Points 1

Cela fonctionne pour moi -

  alias composer='php -d pcre.jit=0 /usr/local/bin/composer'

Cela ne nécessite pas de version plus ancienne de PHP et est spécifique à Composer. Pour conserver ces changements après la fermeture du shell, éditez et ajoutez au fichier ~/.bash_profile.

-1voto

Jose Mhlanga Points 458

Revenez à PHP 7.2 si vous ne voulez pas avoir de problèmes avec la correction de bug, ça fonctionne très bien

-1voto

Vous devez modifier le fichier php.ini et ajouter.

pcre.jit = 0

Dans XAMPP (Mac OSX), le fichier php.ini se trouve dans le dossier /Applications/XAMPP/xamppfiles/etc.

Dans XAMPP (Windows), le fichier php.ini se trouve dans le dossier C:\xampp\php.

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