Mac 용 ext-zip 설치


55

실행하려고하는데 composer update다음과 같은 오류가 발생합니다.

Problem 1
    - The requested PHP extension ext-zip * is missing from your system. Install or enable PHP's zip extension.
  Problem 2
    - maatwebsite/excel 3.1.10 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.11 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.12 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.13 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.14 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.15 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.16 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.17 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.7 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.8 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.9 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.x-dev requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.2.x-dev requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.0 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.1 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.2 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.3 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.4 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.5 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.6 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - phpoffice/phpspreadsheet 1.9.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.8.2 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.8.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.8.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.7.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.6.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.5.2 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.5.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.5.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.4.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - phpoffice/phpspreadsheet 1.4.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - Installation request for maatwebsite/excel ^3.1.0 -> satisfiable by maatwebsite/excel[3.1.0, 3.1.1, 3.1.10, 3.1.11, 3.1.12, 3.1.13, 3.1.14, 3.1.15, 3.1.16, 3.1.17, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.8, 3.1.9, 3.1.x-dev, 3.2.x-dev].

달릴 때 composer update

밤새 나는 내 인생의 실수를 저지르고 나의 Mac이 자동으로 OS를 업데이트하도록 허용했다. 그래서 나는 지금 macOS Catalina에있다.

나는 추가를 시도했다

 "require": {
    "ext-zip": "*",
 }

내 composer.json ..하지만 그 확장을 다운로드하지 않았습니다.


1
이 오류는 PHP에 php-zip확장 기능이 설치되어 있지 않다는 것을 의미합니다 .
Latheesan

같은 문제를 겪고있는 phpinfo는 그것이 설치되어 있다고 ... 매우 이상합니다 ... 애플에게 감사합니다 ...
Jamie Robinson

@JamieRobinson 당신이 수정을 발견하면 알려주세요!
Abdul

@Abdul 지금까지 내가 얻은 것은 "composer install --ignore-platform-reqs"를 사용하는 것입니다 ... 해결책은 아니지만 단기적으로 문제를 해결할 수 있습니다.
Jamie Robinson

귀하의 정보에 대한 @JamieRobinson, 누군가 나를 위해 일한 것으로 대답했습니다.
Abdul

답변:


129

Mac을 Catalina로 업데이트 한 후에도 같은 문제가있었습니다. 여기 나를 위해 일한 것이 있습니다.

brew update
brew install php@7.3
brew link php@7.3

그런 다음 콘솔을 다시로드하십시오.

zip 모듈과 함께 PHP 7.3.10을 설치합니다. php -v를 사용하여 버전을 확인하고 php -m을 모듈로 확인할 수 있습니다.


대단히 감사합니다! 그것은 매력처럼 작동했습니다!
Abdul

2
@Aldranor는 이것이 거의 효과가 있다고 생각합니다 .Brew 설치를 실행하면 좋은 계획처럼 들립니다. 그러나 이제는 "오류 : sbin / php-fpm을 심볼릭 링크 할 수 없습니다"라는 메시지가 표시됩니다. "/ usr / local / sbin을 쓸 수 없습니다."... brew는 sudo를 실행하지 않습니다.
Jamie Robinson

8
마침내 고쳤다! "brew doctor"를 실행하면이 폴더가 존재하지 않으며 쓰기 가능하지 않으며 실행할 명령을 제공합니다. 콘솔을 다시로드, 다시 링크 명령을 실행 : 정상으로 모두 다시 해당 명령을 실행
제이미 로빈슨

8
다음 경고가 표시되면 'brew link --force php@7.3'을 사용하십시오. "php@7.3은 통 전용이며 --force와 연결되어야합니다"
leeCoder

3
이것은 효과가 있었지만, 내가 추가 한 후에 만 ​​: export PATH="/usr/local/opt/php@7.3/bin:$PATH" export PATH="/usr/local/opt/php@7.3/sbin:$PATH".zshrc에
Loosie94


6

추출 링크가 작동하지 않으면 다음을 통해 설치된 PHP 버전을 확인하십시오.

ls /usr/local/opt/php*

여기에 다음과 같은 버전이 있습니다.

/usr/local/opt/php@7.3/bin:$PATH

다음과 같은 출력을 제공해야합니다.

/usr/local/opt/php@7.3:
INSTALL_RECEIPT.json        include
LICENSE                     lib
NEWS                        pecl
README.md                   sbin
bin                         share
homebrew.mxcl.php@7.3.plist

이제 다음과 같이 수행 할 수있는 $ PATH에 연결하면됩니다.

echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc
source ~/.zshrc

참고 : 터미널 설정이므로 .zshrc를 사용하고 있습니다. 당신이 배쉬라면 적절하게 사용하십시오.

다음을 실행하여 어떤 버전의 PHP가 MacOS에 연결되어 있는지 확인할 수 있습니다.

which php

결과는 다음과 같습니다.

/usr/local/opt/php@7.3/bin/php

그게 다야. 이제 composer 업데이트를 시도해도 확장 문제가 발생하지 않습니다.

출처 (일부) : https://medium.com/@jjdanek/installing-php-extensions-on-mac-after-homebrew-acfddd6be602


6

2020 년 3 월 10 일, 그것은 나를 위해 작동합니다 :

brew install php  

작동하는 PHP에 대한 유일한 명령입니다. 따라서 마지막 게시물에 표시된 명령은 더 이상 사용되지 않습니다.


1
2020 년 3 월 24 일 확인
Frank Leal

2020 년 3 월 26 일 확인.
무함마드 알리

4 월 7 일 준수
PSN

2021 년 4 월 14 일. 미래에서 확인되었습니다.
Pandem1c

4

에서 python symlink에 문제가있었습니다 brew install php.

/usr/local/Frameworks 존재하지 않았으므로 만들어야했습니다. sudo mkdir /usr/local/Frameworks

cd /usr/local/

그런 다음 나는 그것을 숨 막아야했습니다. sudo chown -R myuser:admin Frameworks

의 나머지 폴더에 대한 권한 설정을 기반으로했습니다 /usr/local.

그런 다음 실행할 수 있습니다 brew link python. 그런 다음 brew install php다시 실행 하여 완료되었습니다.

php -v 이제 PHP 7.3.18이되기 전에 PHP 7.3.10을 제공합니다.


나는 --- 사용을 제안 것> sudo는 대한 Chown -R $ (whoami를) 빈 등이 lib 디렉토리 sbin에 공유 VAR 프레임 워크 <---- 대신 ---> sudo는 대한 Chown -R 참고 MyUser 포함 : 관리자 프레임 워크 <---
벤 Spi

2

강제 연결하는 대신 MacOS Catalina에서 문제를 해결할 수도 있습니다.

bash 바이너리 프로파일에 php 바이너리 경로를 추가하면 :

echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.3/sbinbin:$PATH"' >> ~/.bash_profile

2

필요하지 않은 경우 ext-zip(예 : 빠른 수정을 원할 경우) --ignore-platform-reqs옵션을 사용 하여 요구 사항을 무시할 수 있습니다 .

$ composer update --ignore-platform-reqs

1

이것은 나를 위해 일했다

brew update brew install php@7.3 brew link php@7.3 brew link php@7.3 --force

그것이 도움이되기를 바랍니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.