itsource

macOS에 Composer를 설치하는 동안 오류가 발생했습니다(JIT 컴파일 실패).

mycopycode 2023. 8. 15. 11:06
반응형

macOS에 Composer를 설치하는 동안 오류가 발생했습니다(JIT 컴파일 실패).

실행할 때composer --versionmacOS 터미널에서 다음과 같은 오류가 발생합니다.

PHP 경고: preg_match(): JIT 컴파일 실패: 755행의 phar://usr/local/bin/composer.phar/vendor/symphony/console/Application.php에 메모리가 더 이상 없습니다.

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 컴파일 실패: 759행 par://usr/local/bin/composer.phar/vendor/symphony/console/Application.php에 메모리가 더 이상 없습니다.

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 컴파일 실패: 654 라인의 par://usr/local/bin/composer.phar/vendor/symphony/console/Application.php에 메모리가 더 이상 없습니다.

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 컴파일 실패: 1091 라인의 par://usr/local/bin/composer.phar/vendor/symphony/console/Application.php에 메모리가 더 이상 없습니다.

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 컴파일 실패: 36행 par://usr/local/bin/composer.phar/vendor/symphony/console/Formatter/OutputFormatter.php

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

이것은 알려진 PHP 7.3 버그로, 이미 수정되었습니다.

임시 해결 방법으로 php.ini 파일을 편집합니다(나의 경우:vi /usr/local/etc/php/7.3/php.ini), 다음을 변경하여 PHP PCRE JIT 컴파일을 비활성화합니다.

;pcre.jit=1

로.

pcre.jit=0

PCRE jit 컴파일을 비활성화하여 이 문제를 해결했습니다.

홈브루를 통해 php 7.3을 설치하신 것 같습니다.

그렇다면 다음을 작성합니다.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

다른 답변에서는 구성 파일을 통해 PCRE JIT를 비활성화할 것을 제안합니다.이 방법은 효과가 있지만 주의해야 할 점은 이러한 INI 파일을 사용하는 모든 엔진 호출에 대해 PCRE JIT를 사용하지 않도록 설정하는 것입니다.따라서 더 광범위한 기능 범위에 대한 JIT 개선이 필요하지 않을 수 있습니다.

다음에 대해 JIT를 사용하지 않도록 설정할 수 있습니다.composer다음을 통해서만:

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

PHP 7.1.24에는 없습니다.'pcre.jit'php.ini 파일에서 설정해야 합니다.memory_limit:128M(이 값을 늘리면).

다음 단계에 따라 작동합니다.

  1. 터미널을 열고 php --ini를 실행합니다.
  2. "Loaded Configuration File: /usr/local/px5/lib/px.ini" 경로에서 php.ini 파일을 엽니다. https://prnt.sc/p9tspy
  3. PCR을 찾습니다.jit 및 변경;pcre.jit=1을 pcre로 변경합니다.jit=0

답변 감사합니다.지휘 작곡가로 해결했습니다.par와 내보내기 경로.예:

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

저도 같은 오류가 발생했습니다.저는 PHP 7.3.7을 사용하여 Mac OS 10.11.6에 MAMP 5.4를 설치하고 Composer를 설치했습니다.작동하는 것 같았지만 Yii2를 설치하거나 버전을 확인하려고 하자마자 오류가 발생했습니다...

$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

php.ini의 memory_limit을 128M에서 그 어떤 것으로도 증가시키는 것은 문제와 pcre를 해결하지 못했습니다.jit=1이 댓글로 표시되어 있어서 꺼도 아무 것도 하지 않았습니다.

효과가 있었던 것은 다음과 같습니다.

MAMP 기본 설정을 다운그레이드하지 않고 이전 버전의 디렉터리로 내보내기 경로를 변경하면 성공했습니다!

$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

이게 왜 효과가 있었는지 설명할 수 있는 사람이 있다면 알려주시면 감사하겠습니다.건배.

이건 내게 효과가 있어요

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

PHP의 이전 버전은 필요하지 않으며 작곡가 전용입니다.셸 폐쇄 전체에서 유지하려면 ~/.bash_profile을 편집하고 추가합니다.

언급URL : https://stackoverflow.com/questions/53690624/errors-installing-composer-on-macos-jit-compilation-failed

반응형