在 macOS 上安装 Composer 时出错(JIT 编译失败)

2022-08-30 09:16:50

当我在macOS终端中运行时,我收到以下错误。composer --version

PHP 警告:preg_match(): JIT 编译失败: phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php 第 755 行上没有更多内存

Warning: preg_match(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php

在第 755 行 PHP 警告: preg_match(): JIT 编译失败: phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php 第 759 行上没有更多内存

Warning: preg_match(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php

在第 759 行 PHP 警告: preg_split(): JIT 编译失败: phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php 在第 654 行上没有更多内存

Warning: preg_split(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php

在第 654 行 PHP 警告: preg_split(): JIT 编译失败: phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php 行 1091 上没有更多内存

Warning: preg_split(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php

在第 1091 行 PHP 警告: preg_replace(): JIT 编译失败: phar:///usr/local/bin/composer.phar/vendor/symfony/console/Formatter/OutputFormatter.php 在第 36 行上没有更多内存

Warning: preg_replace(): JIT compilation failed: no more memory in phar:///usr/local/bin/composer.phar/vendor/symfony/console/Formatter/OutputFormatter.php

在36号线

  [ErrorException]                                          
  preg_match_all(): JIT compilation failed: no more memory

答案 1

这是一个已知的 PHP 7.3 错误,已得到修复。

作为临时解决方法,编辑您的 php.ini 文件(在我的情况下:),通过更改以下内容禁用 PHP PCRE JIT 编译:vi /usr/local/etc/php/7.3/php.ini

;pcre.jit=1

pcre.jit=0

答案 2

我通过禁用PCRE jit编译解决了这个问题。

我想你通过自制软件安装了php 7.3。

如果是这样,请使用以下内容创建一个 in:zzz-myphp.ini/usr/local/etc/php/7.3/conf.d

; My php.ini settings
; Fix for PCRE "JIT compilation failed" error
[Pcre]
pcre.jit=0

推荐